乙個多月資料結構與演算法的學習經驗之談

2021-09-24 06:31:24 字數 1900 閱讀 8494

今天聖誕節,首先祝大家聖誕節快樂!最近乙個多月,一直在leetcode上學習資料結構與演算法,補了很多之前的基礎,之後慢慢發現,我對資料結構和演算法還停留在很初級階段,這讓我感到異常的恐慌和不安,因為工作都三年多了,對這些基礎知識還沒辦法熟練掌握,實屬不該,該好好反思自己這些年來都做了些什麼。

聽很多初級開發人員說,資料結構和演算法在實際開發中用不到,但真實情況是,熟練掌握了這些,無論你用什麼語言,都可以輕車熟路。工作三年有餘,我的經驗已經證明,你會個vue,會個react,早已無法成為乙個開發人員的核心競爭力,因為你會寫別人看個文件基本也會寫,而且這些技術框架的門檻在慢慢變低,會的人太多了,邊際效應逐年遞減。

這乙個多月的資料結構和演算法的學習,更加讓我堅信,真正的核心競爭力並不是你掌握什麼技術框架,真正的核心還是熟練掌握資料結構和演算法。資料結構+演算法=程式,這個等式是瑞典計算機科學家 niklaus wirth,2023年寫在《algorithms + data structures = programs》一書中,即使拿到40多年後的今天,這個等式仍然成立。不由得感嘆,前人早已總結出程式的本質,作為後生,心中滿是無盡的敬畏之心,只有不斷的學習,才能對得起無數前人的努力,不枉費此生。

說了一些經驗之談,下面把我在資料結構和演算法的一些總結貼出來。都是些乾貨,大部分資源**於leetcode,一些文章**於其他平台和我的石墨筆記,練習**全部用的是c++,語言其實無所謂,關鍵是核心的設計思想,希望能對一些程式設計師有一定的積極影響。

倉庫會持續更新,直到練習完leetcode上80%的演算法題,**有什麼問題,可以在github上提issue,歡迎關注!

維基百科演算法大全

維基百科資料結構大全

演算法的時間與空間複雜度

資料結構的基本知識總結

二叉樹的遍歷詳解(前序中序後序層次-遞迴和非遞迴)

視覺直觀感受7種常用的排序演算法

素數生成演算法

紅-黑樹

堆(heap)

氣泡排序(bubble sort)

選擇排序(selection sort)

插入排序(insertion sort)

歸併排序(merge sort)

快速排序(quick sort)

堆排序(heap sort)

桶排序(bucket sort)

計數排序(counting sort)

基數排序(radix sort)

排序演算法大全

鍊錶(linked list)

二叉樹(binary tree)

霍夫曼編碼(huffman coding)

佇列(queue)

棧(stack)

集合(set)

雜湊表(map)

堆(heap)

圖(graph)

leetcode

領扣中國

c++教程

看雲資料結構與演算法/leetcode/lintcode

視覺化演算法algorithm visualizer

舊金山大學資料結構和演算法的視覺化學習工具

視覺化排序演算法sorting

動畫學習演算法和資料結構visulago

陣列動態規劃

字串數學

樹雜湊表

深度優先搜素

二分查詢

雙指標廣度優先搜尋

棧貪心演算法

回溯演算法

設計鍊錶

位運算堆圖排序

分治演算法

並查集二叉搜尋樹

字典樹遞迴

佇列線段樹

random

樹狀陣列

極小化極大

拓撲排序

腦筋急轉彎

幾何map

rejection sampling

蓄水池抽樣

記憶化

資料結構與演算法的學習

自動生成前十個質數的演算法 具體的 請看 cindy.cs 1 設定兩個計數器 counter1 2 counter2 2 2 如果 counter1 10,則執行3 如果counter1 大於10 則執行6 3 當counter2 counter1 則執行4如果 counter2 大於counte...

資料結構與演算法 實現乙個鏈結儲存的棧

鏈結儲存的棧實現檔案 include include include lnkstack.h 建立棧 linkstack ls create 釋放棧 void ls free linkstack ls free ls 將棧變為空棧 void ls makeempty linkstack ls ls t...

資料結構與演算法學習總結(一)

1.什麼是資料結構和演算法 資料結構,就是一組資料的儲存結構。演算法,就是運算元據的一組方法。資料結構是為演算法服務的,演算法要作用在特定的資料結構之上。2.為什麼要學習資料結構和演算法?1 對個人 資料結構和演算法是程式設計師的必修課程之一,能幫助我們寫出效能更優更好的 演算法,是一種解決問題的思...