python 中資料結構的儲存方法
阿新 • • 發佈:2018-11-07
python中的一切都是物件,任何自定義的資料結構都可以寫成類
一、線性表
1.陣列實現
list, import array, np.array Python中list實現為動態陣列,而不是連結串列?
常用方法
append,extend, insert ,remove …
更多可參見python tutorial list
2.連結串列
最後一個節點沒有後繼節點了,因此它的指標指向空即NULL
迴圈連結串列最後一個指標指向連結串列頭
單鏈表節點
class SingleLinkListNode(object): """ 單鏈表結點類 """ def __init__(self, data=None, next_node=None): self.data = data # 資料域 self.next = next_node # 指向下一個結點的指標(也即是地址)
雙向連結串列節點
class DoubleLinkListNode(object):
"""
雙鏈表結點類
"""
def __init__(self, data=None, prev_node=None,next_node=None):
self.data = data # 資料域
self.prev = prev_node # 指向前驅節點
self.next = next_node # 指向後繼節點
連結串列和連結串列節點是兩個不同的概念,連結串列除了以上的定義之外還需要定義一些其他的類方法
二、棧與佇列
三、樹與二叉樹
1.樹
2.二叉樹基本概念
3.二叉查詢樹
4.平衡二叉樹
5.紅黑樹
四、圖
五、總結
參考
資料結構與演算法(Python)——常見資料結構Part1(陣列和連結串列)
常見資料結構與演算法整理總結(上) C++
練習
[leetcode linked list]