數(shù)學對于計算機的重要性(精編版)_第1頁
數(shù)學對于計算機的重要性(精編版)_第2頁
數(shù)學對于計算機的重要性(精編版)_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、數(shù)學對于電腦的重要性可能有很多朋友在網(wǎng)上看過google 公司早幾年的招聘廣告,它的第一題如下了:first 10-digit prime found in consecutive digits e ,e 中出現(xiàn)的連續(xù)的第一個10 個數(shù)字組成的質(zhì)數(shù)。據(jù)說當時這個試題在美國很多地鐵的出站口都有大幅廣告,只要正確解答了這道題,在瀏覽器的地址欄中輸入這個答案,就可以進入下一輪的測試,整個測試過程如同一個數(shù)學迷宮,直到你成為google 的一員。又如 intel 某年的一道面試題目:巴拿赫病故于1945 年 8 月 31 日。他出生年份是他在世某年年齡平方減去這年年齡的差,問:他是哪年出生的?這道看似

2、很簡單的數(shù)學問題,你能不能很快地解答呢? 下面則是一道世界第一大軟件公司微軟的招聘測試題:中間只隔一個數(shù)字的兩個素數(shù)被稱為素數(shù)對,比方5 和 7,17 和 19,證明素數(shù)對之間的數(shù)字總能被6 整 除(假設這兩個素數(shù)都大于6),現(xiàn)在證明沒有由三個素數(shù)組成的素數(shù)對。這樣的試題還有很多很多,這些題目乍初看上去都是一些數(shù)學問題。但是世界上一些著名的公司都把它們用于招聘測試,可見它們對新職工數(shù)學基礎的重視。數(shù)學試題與應用程序試題是許多大型軟件公司面試中指向性最明顯的一類試題,這些試題就是考察應聘者的數(shù)學能力與電腦能力。某咨詢公司的一名高級參謀曾說:微軟是一家電腦軟件公司,當然要求其職工有一定的電腦和數(shù)學

3、能力,面試中自然就會考察這類能力。微軟的面試題目就考察了應聘人員對基礎知識的掌握程度、對基礎知識的應用能力,甚至暗含了對電腦基本原理的考察。所以,這樣的面試題目確實很“ 毒辣 ” ,足以篩選到合適的人。四川大學數(shù)學學院的曹廣福教授曾說過: “ 一個大學生將來的作為與他的數(shù)學修養(yǎng)有很大的關系 ” 。大學電腦專業(yè)學生都有感觸,電腦專業(yè)課程中最難的幾門課程莫過于離散數(shù)學、編譯原理、數(shù)據(jù)結(jié)構(gòu),當然像組合數(shù)學、密碼學、計算機圖形學等課程也令許多人學起來相當吃力, 很多自認為數(shù)據(jù)庫學得很好的學生在范式、函數(shù)依賴、 傳遞依賴等數(shù)學性比較強的概念面前感到力不從心,這些都是因為數(shù)學基礎或者說數(shù)學知識的缺乏所造成

4、的。數(shù)學是電腦的基礎,這也是為什么考電腦專業(yè)研究生數(shù)學都采用最難試題(數(shù)學一 )的原因,當然這也能促使一些新的交叉學科如數(shù)學與應用軟件、信息與計算科學專業(yè)等飛速發(fā)展。許多天才程序員本身就是數(shù)學尖子,眾所周知,billgates 的數(shù)學成績一直都很棒,他甚至曾經(jīng)期望當一名數(shù)學教授,他的母校 湖濱中學的數(shù)學系主任弗雷福?賴特曾這樣談起過他的學生 : “ 他能用一種最簡單的方法來解決某個代數(shù)或電腦問題,他可以用數(shù)學的方法來找到一條處理問題的捷徑,我教了這么多年的書,沒見過像他這樣天分的數(shù)學奇才。他甚至 可以和我工作過多年的那些優(yōu)秀數(shù)學家媲美。當然,比爾也各方面表現(xiàn)得都很優(yōu)秀,不僅僅是數(shù)學,他的知識面

5、非常廣泛,數(shù)學僅是他眾多特長之一” 。影響一代中國程序人的金山軟件股份董事長求伯君當年高考數(shù)學成績總分值進一步說明了問題。很多數(shù)學基礎很好的人,一旦熟悉了某種電腦語言,他可以很快地理解一些算法的精髓,使之能夠運用自如,并可能寫出時間與空間復雜度都有明顯改善的算法。程序設計當中解決的相當一部分問題都會涉及各種各樣的科學計算,這需要程序員具有什么樣的基礎呢?實際問題轉(zhuǎn)換為程序,要經(jīng)過一個對問題抽象的過程,建立起完善的數(shù)學模型,只有這樣,我們才能建立一個設計良好的程序。從中我們不難看出數(shù)學在程序設計領域的重要性。 算法與計算理論是電腦程序設計領域的靈魂所在,是發(fā)揮程序設計者嚴謹,敏銳思維的有效工具,

6、任何的程序設計語言都試圖將之發(fā)揮得淋漓盡致。程序員需要一定的數(shù)學修養(yǎng),不但是編程本身的需要,同時也是培養(yǎng)邏輯思維以及嚴謹?shù)木幊套黠L的需要。數(shù)學可以鍛煉我們的思維能力,可以幫助我們解決現(xiàn)實中的問題??梢詭椭覀兏叩膶W習哲學。為什么經(jīng)常有人對一些科學計算程序一籌莫展,他可以讀懂每一行代碼, 但是卻無法預測程序的預測結(jié)果,甚至對程序的結(jié)構(gòu)與功能也一知半解,給他一個稍微復雜點的數(shù)學公式,他可能就不知道怎么把它變成電腦程序。很多程序員還停留在做做簡單的mis ,設計一下mdi ,寫寫簡單的class 或用 sql 語句實現(xiàn)查詢等基礎的編程工作上,對于一些需要用到數(shù)學知識的編程工作就避而遠之,當然實現(xiàn)一

7、個累加程序或者一個稅率的換算程序還是很容易的,因為它們并不需要什么高深的數(shù)學知識。一名有過10 多年開發(fā)經(jīng)驗的老程序員曾說過: “ 所有程序的本質(zhì)就是邏輯。技術你已經(jīng)較好地掌握了, 但只有完成邏輯能力的提高,你才能成為一名職業(yè)程序員。打一個比方吧,你會十八班武藝,刀槍棍棒都很精通,但就是力氣不夠,所以永遠都上不了戰(zhàn)場,這個力氣對程序員而言就是邏輯能力(其本質(zhì)是一個人的數(shù)學修養(yǎng),注意,不是數(shù)學知識)?!?程序員的數(shù)學修養(yǎng)不是一朝一夕就可以培養(yǎng)的。數(shù)學修養(yǎng)與數(shù)學知識不一樣,修養(yǎng)需要一個長期的過程, 而知識的學習可能只是一段短暫的時間。下面是一些我個人對于程序員怎么樣提高與培養(yǎng)自己的數(shù)學修養(yǎng)的基本看

8、法。首先, 應該意識到數(shù)學修養(yǎng)的重要性。作為一個優(yōu)秀的程序員,一定的數(shù)學修養(yǎng)是十分重要也是必要的。數(shù)學是自然科學的基礎,電腦科學實際上是數(shù)學的一個分支。電腦理論其實是很多數(shù)學知識的融合,軟件工程需要圖論, 密碼學需要數(shù)論, 軟件測試需要組合數(shù)學,電腦程序的編制更需要很多的數(shù)學知識,如集合論、排隊論、離散數(shù)學、統(tǒng)計學,當然還有微積分。 電腦科學一個最大的特征是信息與知識更新速度很快,隨著數(shù)學知識與電腦理論的進一步結(jié)合,數(shù)據(jù)挖掘、模式識別、神經(jīng)網(wǎng)絡等分支科學得到了迅速發(fā)展,控制論、模糊數(shù)學、耗散理論、分形科學都促進了電腦軟件理論、信息管理技術的發(fā)展。嚴格的說,一個數(shù)學基礎不扎實的程序不能算一個合格

9、的程序員,很多介紹電腦算法的書籍本身也就是數(shù)學知識的應用與電腦實現(xiàn)手冊。其次,自身數(shù)學知識的積累,培養(yǎng)自己的空間思維能力和邏輯判斷能力。數(shù)學是一門分支眾多的學科,我們無法在短暫的一生中學會所有的數(shù)學知識,像泛函理論、 混沌理論以及一些非線性數(shù)學問題不是三五幾天就可以掌握的。數(shù)學修養(yǎng)的培養(yǎng)并不在與數(shù)學知識的多少,但要求程序員有良好的數(shù)學學習能力,能夠很快地把一些數(shù)學知識和自己正在解決的問題聯(lián)系起來, 很多理學大師雖然不是數(shù)學出身,但是他們對數(shù)學有很強的理解能力和敏銳的觀察力,于是一系列新的學科誕生了,如計算化學、計算生物學、生物信息學、化學信息學、計算物理學,計算材料學等等。數(shù)學是自然學科的基礎

10、,電腦技術作為理論與實踐的結(jié)合,更需要把數(shù)學的一些精髓融入其中。從電腦的誕生來看它就是在數(shù)學的基礎上產(chǎn)生的, 最簡單的 0、1 進制就是一個古老的數(shù)學問題。程序設計作為一項創(chuàng)造性很強的職業(yè),它需要程序員有一定的數(shù)學修養(yǎng),也具有一定的數(shù)學知識的積累,可以更好地把一些數(shù)學原理與思想應用于實際的編程工作中去。學無止境, 不斷的學習是提高修養(yǎng)的必經(jīng)之路。第三,多在實踐中運用數(shù)學。有些高等學校開設了一門這樣的課程數(shù)學建模 。我在大學時期也曾學過, 這是一門內(nèi)容很豐富的課程。它把很多相關的學科與數(shù)學都聯(lián)系在一起,通過很多數(shù)學模型來解決實際的生產(chǎn)生活問題,很多問題的解決需要電腦程序來實現(xiàn)。我在大學和研究生階

11、段都參加過數(shù)學建模競賽,獲得了不少的經(jīng)驗,同時也進一步提高了自己的數(shù)學修養(yǎng)。 實際上, 現(xiàn)在的程序設計從某些角度來看就是一個數(shù)學建模的過程,模型的好壞關系到系統(tǒng)的成敗,現(xiàn)在數(shù)學建模的思想已經(jīng)用于電腦的許多相關學科中,不單只是電腦程序設計與算法分析。應該知道, 數(shù)學是一門需要在實踐中展示其魅力的科學,而電腦程序也是為幫助解決實際問題而編制的,因此,應該盡量使它們結(jié)合起來,在這個方面,電腦密碼學是我認為運用數(shù)學知識最深最廣泛的,每一個好的加密算法后面都有一個數(shù)學理論的支 持,如橢圓曲線、背包問題、素數(shù)理論等。作為一名優(yōu)秀的程序員,應該在實際工作中根據(jù)需要靈活運用數(shù)學知識,培養(yǎng)一定的數(shù)學建模能力,善

12、于歸納總結(jié),慢慢使自己的數(shù)學知識更加全面,數(shù)學修養(yǎng)得到進一步提高。第四,程序員培養(yǎng)制度與教學的改革。許多程序員培養(yǎng)體制存在很多缺陷,一開始就要求學員能夠快速精通某種語言,以語言為中心, 對算法的核心思想與相關的數(shù)學知識都一筆帶過,講得很少,這造成很多程序員成為背程序的機器,這樣不利于程序員自身的快速成長,也不利于程序員解決新問題。我在長期的程序員培訓與電腦教學工作采用了一些與傳統(tǒng)方式不一致的方法,收到了一定的效果。很多初學程序的人往往寫程序時有時候會有思維中斷, 或者對一些稍難的程序覺得無法下手,我采用了一些課前解決數(shù)學小問題的方法來激勵大家的學習興趣,這些小問題不單單是腦筋急轉(zhuǎn)彎,其中不少是

13、很有代表意義的數(shù)學思考題。 通過數(shù)學問題來做編程的熱身運動,讓學員在數(shù)學試題中激發(fā)自己的思維能力,記得有位專家曾經(jīng)說過,經(jīng)常做做數(shù)學題目會使自己變聰明,很長時間不去接觸數(shù)學問題會使自己思維遲鈍。 通過一些經(jīng)典的數(shù)學問題來培養(yǎng)學員的思維的嚴謹性和跳躍性。很多人可能 不以為然,其實有些看似簡單的問題并不一定能夠快速給出答案,大腦也在不斷的運用中變更加靈活的。不信嗎?大家有興趣可以做做下面這道題目,看看能不能在1 分鐘之內(nèi)想到答案, 這只是一道小學數(shù)學課后習題。很多人認為自己的數(shù)學基礎很好,但是據(jù)說這道題目 90%以上的人不能在一個小時內(nèi)給出正確答案。證明 :ab+acdb+dc(d為三角形abc

14、的一個內(nèi)點 )。最后, 多學多問,多看好書,看經(jīng)典。我在這里向大家推薦兩部可能大家已經(jīng)很熟悉的經(jīng)典的電腦算法教材,它們中間很多內(nèi)容其實就是數(shù)學知識的介紹。第一部是算法導論 ,英文名稱 :introduction to algorithms ,作者 :thomas h. cormen,charles e. leiserson ,ronald l. rivest , clifford stein 。本書的主要作者來自麻省理工大學電腦,作者之一 ronald l.rivest由于其在公開秘鑰密碼算法rsa 上的奉獻獲得了圖靈獎。這本書目前是算法的標準教材,美國許多名校的電腦系都使用它,國內(nèi)有些院校也

15、將本書作為算法課程的教材。另外許多專業(yè)人員也經(jīng)常引用它。本書基本包含了所有的經(jīng)典算法,程序全部由偽代碼實現(xiàn),這更增添了本書的通用性,使得利用各種程序設計語言進行程序開發(fā)的程序員都可以作為參考。語言方面通俗,很適合作為算法教材和自學算法之用。另一部是很多人都應該知道的donald.e.knuth 所著電腦程序設計藝術,英文名稱 :the art of computer programming 。donald.e.knuth 人生最輝煌的時刻在斯坦福大學電腦系渡過,美國電腦協(xié)會圖靈獎的獲得者,是本領域內(nèi)當之無愧的泰斗。有戲言稱搞電腦程序設計的不認識knuth 就等于搞物理的不知道愛因斯坦,搞數(shù)學的不知道歐拉,搞化學的不知道道爾頓。被簡稱為taocp 的這本巨著內(nèi)容博大精深,幾乎涵蓋了電腦程序設計算法與理論最重要的內(nèi)容?,F(xiàn)在發(fā)行的只有三卷,分別為基礎運算法則,半數(shù)值算法,以及排序和搜索(在寫本文之際,第四卷已經(jīng)出來了,我也在第一時間搶購了一本)。本書結(jié)合大量數(shù)學知識,分析不同應用領域中的各種算法,研究算法的復雜性,即算法的時間、空間效率,探討各種適用算法等,其理論和實踐價值得到了全世界電腦工作者的公認。書中引入的許多術語、得到的許多結(jié)論都變成了電腦領域的標準術語和被廣泛引用的結(jié)果。另外,作者對有關領域的科學發(fā)展史也有深入研究, 因此本書介紹

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論