聲明,本文所有11道算法題目,覆蓋了基本上所有常見的二叉樹問題,全都用C#實現,並測試通過,代碼下載:BinNode.zip
目錄:
1.二叉樹三種周游(traversal)方式:
2.怎樣從頂部開始逐層打印二叉樹結點數據
3.如何判斷一棵二叉樹是否是平衡二叉樹
4.設計一個算法,找出二叉樹上任意兩個節點的最近共同父結點,復雜度如果是O(n2)則不得分。
5.如何不用遞歸實現二叉樹的前序/後序/中序遍歷?
6.在二叉樹中找出和為某一值的所有路徑
7.怎樣編寫一個程序,把一個有序整數數組放到二叉樹中?
8.判斷整數序列是不是二叉搜索樹的後序遍歷結果
9.求二叉樹的鏡像
10.一棵排序二叉樹(即二叉搜索樹BST),令 f=(最大值+最小值)/2,設計一個算法,找出距離f值最近、大於f值的結點。復雜度如果是O(n2)則不得分。
11.把二叉搜索樹轉變成排序的雙向鏈表