算法分析與設計,目前國內(nèi)本科生和碩士生的教材好像都是從國外翻譯過來的。
聽起來挺復雜的樣子,如果簡單地掌握和運用還是不難的,大部分內(nèi)容在數(shù)據(jù)結(jié)構(gòu)中都涉及過,實際編程中也運用比較多,難的在于算法的理論研究,如21世紀的七大難題之一的NP問題就是算法問題(涉及邏輯可滿足性問題)。簡單地講需要的基礎(chǔ)有以下幾類:1、基礎(chǔ)類(相對一般本科生而言):(1)把數(shù)據(jù)結(jié)構(gòu)學好了算法就不難的,而數(shù)據(jù)結(jié)構(gòu)其實就是圖論的運用,如果是非數(shù)學專業(yè)的學生可以看離散數(shù)學中的圖論部分。
(2)算法分析設計時間和空間復雜度的計算,常用的還是毛澤東的戰(zhàn)略思想——以空間換取時間。所以要學會簡單的數(shù)量級運算,涉及部分代數(shù)式和數(shù)論的知識。
只要簡單掌握運算就可以了,不必深究。2、提高型(研究生水平):圖論、組合數(shù)學、數(shù)理邏輯學要專門學習,可以采用數(shù)學系本科生的圖論、組合數(shù)學、數(shù)理邏輯學等專業(yè)課的教材。
其中組合數(shù)學中的組合設計在一定程度上和算法設計有異曲同工之處。3、研究型(專業(yè)研究):這主要看自己的研究方向了,如果研究能力強的話可以在很短時間內(nèi)可以把需要遇到的數(shù)學知識搞懂,沒有現(xiàn)成的固定模式。
其中如研究NP問題,需要非常精深的邏輯學知識和數(shù)論基礎(chǔ)。但不管哪個研究方向,數(shù)學的縝密思維和推理能力都是必備的,這不是一朝一夕可以練就的,需要長時間的鍛煉。
以上僅個人一點點體會,僅供參考。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.021秒