1 為什么要學習資料結構與演算法
為什么要學習資料結構與演算法?
■ 名企面試必考
□ 短時間內考察一個人長期潛力的捷徑
資料結構與演算法的應用
■ B樹
■ 哈希

■ 圖
■ 最短路徑演算法

■ 鏈表
■ 二叉樹
■ 哈希函式



總結
■ 寫出性能更高的程式
■ 快速學習新技術
■ 打開一扇全新的大門
■ 趁腦子還沒生銹,攻克它,一次掌握,終生受益
■ Pascal之父Nicklaus Wirth憑借一個公式獲得了圖靈獎(計算機領域的諾貝爾獎)
□ 演算法 + 資料結構 = 程式
2 編程語言的選擇
使用什么編程語言學習?
■ Why Java?
□ C:非面向物件,寫法復雜,大量記憶體管理代碼
□ C++:寫法復雜,大量記憶體管理代碼
□ Objective-C、Swift:需要依賴Mac系統
□ JavaScript、Python:依賴于腳本決議器,同一個邏輯使用不同寫法會影響代碼性能,影響演算法性能測評
□ Java:語法豐富嚴謹,更多的注意力可以放到業務邏輯上,建議使用至少Java8(JDK1.8)

■ Windows、Mac系統,均可輕松搭建Java開發環境

■ 學好資料結構與演算法,與編程語言無關

3 大綱
大綱
■ 分為至少3個階段
□ 第1階段:側重于常用的經典資料結構(比如二叉樹、哈希表、Trire等)

□ 第2階段:側重于更高級的資料結構(比如圖、并查集、跳表、布隆過濾器等)與各種演算法(比如排序、KMP、貪心、分治、動態規劃等)
□ 第3階段:側重于leetcode和演算法真題(比如海量資料處理、字串處理等)
? 在前2個階段程序中,同樣會穿插一些leetcode和演算法面試真題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/258828.html
標籤:其他
