思考:
爲什麼要學?
最大的感受是學習的過程可以鍛鍊自己的性能意識,寫代碼的時候會潛意思的考慮性能問題,所以寫出低效代碼的情況會越來越少。
是什麼?
數據結構指的是“一組數據的存儲結構”,算法指的是:“操作數據的一組方法”。
數據結構是爲算法服務的,算法是要作用在特定的數據結構上的。
學什麼?
1.複雜度是算法與數據結構的精髓,是對效率和資源消耗量的一個衡量,學習算法與數據結構就要學會對其進行復雜度分析。
2.常用、基礎的數據結構的來歷和特定,適合解決什麼問題,實際應用場景是什麼樣的?
常用數據結構:
數組,鏈表,棧,隊列,散列表,二叉樹,堆,跳錶,圖,Tire樹
基礎算法:
遞歸,排序,二分查找,搜索,哈希算法,貪心,分治,回溯,動態規劃,字符匹配
怎麼學?
1.邊學邊練,寫代碼,斷點調。去力扣刷刷有代表性的題。
2.多思考爲什麼。
3.寫筆記做總結。
4.沉澱,切忌浮躁。