考察重點為10 個數(shù)據(jù)結(jié)構(gòu):
數(shù)組、鏈表、棧、隊列、散列表、二叉樹、堆、跳表、圖、Trie 樹;
10 個算法:
遞歸、排序、二分查找、搜索、哈希算法、貪心算法、分治算法、回溯算法、動態(tài)規(guī)劃、字符串匹配算法。
數(shù)據(jù)結(jié)構(gòu)和算法解決的是如何更省、更快地存儲和處理數(shù)據(jù)的問題,因此,我們就需要一個考量效率和資源消耗的方法,這就是復(fù)雜度分析方法。所以,如果你只掌握了數(shù)據(jù)結(jié)構(gòu)和算法的特點、用法,但是沒有學(xué)會復(fù)雜度分析,那就相當(dāng)于只知道操作口訣,而沒掌握心法。只有把心法了然于胸,才能做到無招勝有招。
邊學(xué)邊練這一招非常有用。建議你每周花 1~2 個小時的時間,集中把這周的三節(jié)內(nèi)容涉及的數(shù)據(jù)結(jié)構(gòu)和算法,全都自己寫出來,用代碼實現(xiàn)一遍。