1. 程式人生 > >python 中資料結構的儲存方法

python 中資料結構的儲存方法

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]