鏈表(Linked List) 很多的教材都是用C語言實現鏈表,因為c有指針,可以很方便的控制內存,很方便就實現鏈表,其他的語言,則沒那么方便,由於python是動態語言,可以直接把對象賦值給新的變 ...
鏈表(Linked List) 很多的教材都是用C語言實現鏈表,因為c有指針,可以很方便的控制內存,很方便就實現鏈表,其他的語言,則沒那么方便,由於python是動態語言,可以直接把對象賦值給新的變 ...
本篇學習內容為堆的性質、python實現插入與刪除操作、堆復雜度表、python內置方法生成堆。 區分堆(heap)與棧(stack):堆與二叉樹有關,像一堆金字塔型泥沙;而棧像一個直立垃圾桶,一列 ...
哈希表(Hash table) 眾所周知,HashMap是一個用於存儲Key-Value鍵值對的集合,每一個鍵值對也叫做Entry。這些個鍵值對(Entry)分散存儲在一個數組當中,這個數組就是Ha ...
數組列表:動態數組(Array List) 簡介: 最基礎簡單的數據結構、最大的優點就是支持隨機訪問(O(1)),但是增加和刪除操作效率就低一些(平均時間復雜度O(n)) 動態數組也稱數組列表, ...
查找(Search) 描述順序查找與二分法(折半搜索)的概念以及用python實現其查找流程 筆記中二分法記錄簡單的檢索方法,更詳細方法傳送門:二分法查找的python案例 順序查找 算法原理 ...
在前面的排序算法學習中,歸並排序和快速排序就是用的分治法,分治法作為三大算法之一的,有非常多的應用例子。 分治法概念 將一個復雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成 ...
本篇學習筆記內容為圖的各項性質、圖的表示方法、圖ADT的python實現 圖(Graph) 是數據結構和算法學中最強大的框架之一(或許沒有之一)。圖幾乎可以用來表現所有類型的結構或系統,從交通網絡 ...
本篇學習筆記記錄二叉查找樹的定義以及用python實現數據結構增、刪、查的操作。 二叉查找樹(Binary Search Tree) 簡稱BST,又叫二叉排序樹(Binary Sort Tree) ...