程式設計靈魂---演算法和資料結構
阿新 • • 發佈:2019-02-07
做程式開發工作很長時間了,隨著自己知識的提升,逐漸的感覺到程式設計中,最重要的是演算法和數結構。語言是載體而以,如果你精通了一門語言,學習其他語言都是很簡單了。例如C++ 和JAVA 就有很多一樣的地方,相互之間可以對比學習。
程式設計中的很多問題最後歸根到底是資料結構和演算法的問題。對於一個比較小的功能,首先想到的是資料結構,現在大多數是ADT(抽象資料型別,把資料和操作隔離開來,提供一個介面,讓程式設計師把大部分精力放在演算法,效率方面)。資料結構又有邏輯結構和儲存結構,對於具體的問題是首先分析邏輯結構,然後就是儲存結構,用什麼儲存結構要看具體的問題。主要的目的是從記憶體管理方面來提高效率(時間效率和空間效率綜合考慮)。
具體的問題分析完功能後,然後設計具體的邏輯結構和儲存結構,對於一個具體的功能,怎樣實現才能達到最好的效果,就是演算法的問題,現在有很多的演算法,怎樣才能達到最好的效率在不同的情況下有不同的演算法。許多問題可以不斷的優化,沒有最好的演算法,只有很好的演算法,所以演算法設計的過程中要不停的考慮怎麼優化。
總之,學習程式設計不要太注重語言的學習,精通一門語言就可以,(當然越多越好),作業系統的設計都是演算法和資料結構的問題。(C語言編寫)所以,走上程式設計道路,要吸取精華,那就是演算法和資料結構。知識在不停的更新,但是演算法和資料結構永遠都綻放出青春的活力。