2015年10月31日 星期六

[Python] Are the two binary trees equal?

enter image description here
Previous blog introduced how to implement a binary tree in Python[Python] Inplement Binary Tree,Today I’ll introduce how to determine if two binary trees are equal.
If two binary trees are equal, they are structurally identical and the nodes have the same value. Considering the definition above, we use dynamic function to test the two trees if they are equal.

2015年10月25日 星期日

[Python] 以Inorder Traversal 檢驗是否為BST

enter image description here
承襲上一回[Python] 實作Binary Tree,今天要介紹怎樣確認Tree是一個Binary Search Tree.
定義上的Binary Search Tree(BST):
  • 左邊子樹的值都小於node的值
  • 右邊子樹的值都小於node的值
  • 左右的子樹都必須是BST

[Python] 實作BST的走訪

enter image description here
承襲上一回[Python] 實作Binary Tree,今天要介紹怎樣走訪在Binary tree中各個Node,俗稱Binary Tree Traversal.

2015年10月11日 星期日

[Python] 實作Binary Tree

enter image description here
因為不是科班出身,所以對於資料結構和演算法都沒什麼概念,利用雙十廉價的機會好好惡補了一番Orz…
Binary Tree(簡稱BT)在資料結構中是很基本的概念,概念上是每個節點都有左右兩個子節點,每個節點儲存一個值,最上面會有一個起始節點(或稱為root),每往下長一層就多了2**n個節點,以此類推.從BT衍伸出許多相關概念例如heap或各種樹,可能的優點包括加快搜尋速度或是排序速度等等,所以先了解BT是很重要的.