㈠ 計算機系學生為什麼要學離散數學,離散數學在計算機中的應用有什麼
離散數學(Discrete mathematics)是研究離散量的結構及其相互關系的數學學科,是現代數學的一個重要分支。離散的含義是指不同的連接在一起的元素,主要是研究基於離散量的結構和相互間的關系,其對象一般是有限個或可數個元素。離散數學在各學科領域,特別在計算機科學與技術領域有著廣泛的應用,同時離散數學也是計算機專業的許多專業課程,如程序設計語言、數據結構、操作系統、編譯技術、人工智慧、資料庫、演算法設計與分析、理論計算機科學基礎等必不可少的先行課程。通過離散數學的學習,不但可以掌握處理離散結構的描述工具和方法,為後續課程的學習創造條件,而且可以提高抽象思維和嚴格的邏輯推理能力,為將來參與創新性的研究和開發工作打下堅實的基礎。
㈡ 離散數學基本知識
離散數學是數學的幾個分支的總稱,以研究離散量的結構和相互間的關系為主要目標,其研究對象一般地是有限個或可數無窮個元素;因此它充分描述了計算機科學離散性的特點.內容包含:數理邏輯、集合論、代數結構、圖論、組合學、數論等.《離散數學》課程簡介 離散數學是計算機專業的一門重要基礎課.它所研究的對象是離散數量關系和離散結構數學結構模型.由於數字電子計算機是一個離散結構,它只能處理離散的或離散化了的數量關系,因此,無論計算機科學本身,還是與計算機科學及其應用密切相關的現代科學研究領域,都面臨著如何對離散結構建立相應的數學模型;又如何將已用連續數量關系建立起來的數學模型離散化,從而可由計算機加以處理.離散數學課程主要介紹離散數學的各個分支的基本概念、基本理論和基本方法.這些概念、理論以及方法大量地應用在數字電路、編譯原理、數據結構、操作系統、資料庫系統、演算法的分析與設計、人工智慧、計算機網路等專業課程中;同時,該課程所提供的訓練十分有益於學生概括抽象能力、邏輯思維能力、歸納構造能力的提高,十分有益於學生嚴謹、完整、規范的科學態度的培養.
離散數學主要包括四個方面邏輯學集合論,代數結構,圖論,直接用來解決一些實際的問題的,比較少,因為它是一門計算機專業的理論基礎課,解決實際問題,你看哪些方面的問題了,
下面我舉一些例子:
1 數據結構,這是計算機專業的一門重量級課程,而離散數學里裡面的圖論,就是數據結構裡面圖和樹的理論基礎!像一些經典的演算法,在數據結構里會學到,其實,它們在圖論里就被研究得很透!
2.關系資料庫,不用說,它的理論基礎----關系代數,就是離散數學的一個分支!
3.在計算機網路原理裡面,有一些路由選擇演算法之類 的,像最短路徑演算法等,都是離散數學里圖論的應用,都是一些經典的演算法!
4.更深層次的,像人工智慧等學科,都是以離散數學做為理論基礎的,
所以,離散數學是計算機的一個理論基礎,
至於你在編程中解決的問題,那應該是數據結構和演算法的應用,因為這門課就是離散數學的理論,加上在計算機上的存儲以及操作實現的~~
㈢ 編程過程中經常用到的高中數學知識點。
函數、映射:編程中的很多基本概念就是根據這個建立的。
集合:用計算機解決問題,必須把問題中連續的東西化為離散的,集合知識是必須的。
極限:計算機的最大優勢就是可以快速循環計算,因此,把連續問題離散化後,通常需要使用迭代之類的方法,求極限,通過逼近的手段,得到近似答案。用計算機開方或者計算積分等都是這樣做的。
其它:看看離散數學或者抽象代數。
㈣ 3、離散數學的思想和知識點對計算機演算法設計、程序設計有哪些作用
離散數學課程所傳授的思想和方法,廣泛地體現在計算機科學技術及相關專業的諸領域,從科學計算到信息處理,從理論計算機科學到計算機應用技術,從計算機軟體到計算機硬體,從人工智慧到認知系統,無不與離散數學密切相關。由於數字電子計算機是一個離散結構,它只能處理離散的或離散化了的數量關系, 因此,無論計算機科學本身,還是與計算機科學及其應用密切相關的現代科學研究領域,都面臨著如何對離散結構建立相應的數學模型;又如何將已用連續數量關系建立起來的數學模型離散化,從而可由計算機加以處理。
㈤ 學編程需要精通數學中的哪些知識
我來說兩句,第一,程序其實就是一道一道的數學題,當然,如果你搞的是普通的WEB開發什麼的,這些東西都不重要,但是做大型軟體和搞科學研究的話,演算法對一個程序來說至關重要,舉個粒子,對20萬個數據進行排序,不同的排序演算法的運行時間是不一樣的,用最垃圾的演算法可能要跑上好幾天才能算出來,用好的演算法可能幾分鍾就能搞定,而演算法的研究是要有著深厚的數學基礎的。
第二,講一講應該學哪些數學知識,我是大學生,所以就從大學的角度來講吧,首先大學里的基礎課程高等數學是必須的,這可能對於你寫演算法來說沒有什麼太直接的關系,但是,你要記住,高等數學是最基本的東西,裡面的很多概念性的東西都是編寫程序相關的,是你學其他幾門數學課程的基礎。第二,線性代數,這們課在工科專業一般都開,很重要,尤其講到的舉矩陣、集合等等,是你以後在程序開發中能直接用到的,而且,線性代數里一些問題的解決方式能很大程度地活躍你的思維。第三,離散數學,離散數學是計算機和軟體工程專業必學的課程,和計算機程序直接相關,舉例來說,你在設計一條資料庫的SQL語句進行聯表查詢, 你可以直接寫上一大串來實現你的查詢,但如果你能用離散數學里學到的邏輯推理和範式對你的SQL語句進行簡化,那麼你的SQL語句查詢速度可能會有上百倍的提升。
第四,有興趣可以學一學組合數學,我也正在看這方面的書,這是研究生的課程之一,但提前學一學還是很有好處的,裡面很多結論、推理都會讓你受益非淺,學好了這門數學,你的程序質量將上升到另外一個高度。
就說這些吧,總之,學軟體開發的人必須要學數學,不但要學,還要學很多。
很多人都在說中國程序員30以後就幹不了了,為什麼,不是幹不了,是干不動了,因為太多的新東西要學,而且學著很費力,為什麼,因為基礎不好,所以學什麼都不行,我想提高自己的數學素質一定會改變這一現狀。
不說了,接分!
㈥ 離散數學對計算機編程的幫助有哪些
你說學習它有什麼用?那是很顯然的。離散數學是專門為計算機而寫的,那裡面的知識很基礎,但對計算機來說是非常重要的。你學習那本書時你會突然明白你以前接觸過的計算機知識是如何一回事,我就從中收獲了很多,也能讓自己明白了很多東西,如學以致用……
再者,你可以通過做裡面的習題,能提升你的編程能力:如最好的演算法等。而我們要編一個好程序,我們必然要考慮到演算法與效率問題。
那裡面也還講了很多數據結構方面的知識,你也可以從中學習到不少。
總之,我覺得這本書很好,值得一學。關鍵在於你能否把時間安排在裡面。
離散數學是計算機基礎中的基礎,如果你不能把時間安排在它那,你不學也可以,因為你有了.net等一些知識,可以從數據結構與演算法這些方面補足那些知識。
㈦ 編程所涉及到的數學
答案1:不止涉及到離散數學,但是一般不會涉及到微積分
答案2:離散數學不需要什麼基礎,完全不需要高數的微積分,離散數學實際很簡單的,你只要跟著老師認真學,應該是不會有問題
答案3:
(1)編程最重要的是親手去編寫代碼,有很多時候你知道這個問題需要用什麼思路去解決,但是你用編程來實現你的思路卻很費勁。因為你有了思路,只是有了個方向,你不可能方方面面都考慮到。只有親自去寫,才能掌握編程的技巧。你能看懂別人的程序,但是如果你不親自去打一邊的話,別人的永遠是別人的。
(2)程序都是一點點編出來的,別看有的程序很長,其實一句句寫,你也能做到。
(3)工作後你會發現,編程與其說是腦力勞動,更像是體力勞動
㈧ 計算機編程涉及數學的什麼知識點
數學跟計算機的關系非常密切
這其中主要的聯系就是 邏輯思維
舉例:與或非(簡單命題 高一)
數學中的函數與計算機的函數有相似的表述
但從實際應用來說 計算機編程的函數比數學的范圍更廣
這是必然的 因為計算機函數包括了絕大多數數學函數
除此之外 還可以做命令操作
舉例:y=f(x)
計算機編程中可以把 對應法則f 做成 DeleteFile(刪除一個文件);
x 做成參數 文件名
而得到的結果給y 那麼y就是布爾類型 是否成功刪除~~
至於樓上所說 數學在數據結構中的體現嘛~~
我還讀高中 還沒發現什麼~~ 不過我想有是一定的
他們的區別在於應用性
數學著重於運算 計算機著重於幫助運算 而現在計算機主要應用在 操作和應用~~
總之 數學、物理都是計算機的基礎 沒有這兩科 計算機這東西也不復存在了
㈨ 編程所需要的數學知識
計數的能力: for循環中經常用, 小學生都會。
數字的加減乘除 : 每種編程語言都會內置支持, 都不需要你自己算
余數和模: 偶爾會用得到
集合運算: 交集、並集、差集 , 編程中用的不多。
布爾運算: AND , OR, 非
各種進制: 二進制、十進制、十六進制
還有哪些? 我想不起來了, 歡迎補充。
當然這和我從事的編程領域有極大關系, 如果我做的不是Web開發, 而是搜索,游戲, 安全,演算法,人工智慧等, 那對數學的要求估計就開始飆升了。
其實計算機的基礎是數學, 只是我們一直在應用層編程, 體會不到罷了。
比如說我們日常使用的計算機,絕大部分都是所謂馮諾依曼結構(參見文章《馮·馮諾依曼計算機的誕生》) ,這個結構可以說是圖靈機這個概念機器的具體實現,而圖靈機就是一個純數學的東西啊 ,沒有圖靈機這么偉大的抽象作為數學基礎, 現代的計算機是製造不出來的。
再比如說密碼領域需要很多數論的知識,RSA演算法就涉及到大素數的分解;
我們常用的Mysql, Oracle 等關系資料庫的底層基礎是離散數學的笛卡爾乘積;
通信系統中很重要的一個原理就是傅里葉變換。
編譯器會用到有限狀態機;
數據的壓縮會用到各種數學的演算法;
項目管理中的進度管理,甘特圖數學基礎就是圖論。