【資料結構】網易2012校園招聘題目--平衡二叉樹的插入問題
平衡二叉樹的插入問題
參考:
http://www.cnblogs.com/fornever/archive/2011/11/15/2249492.html
文章中,將平衡二叉樹的插入問題,歸結為四種情形。分別是左左,右右,左右,右左。
這裡的意思是:
(1)左左:在一個結點的左孩子的左孩子上插入了一個結點,導致平衡破壞。
a結點有右孩子d,那要進行x和a變換,那麼a的右孩子放哪啊?
很簡單,如圖放在x的左孩子上;分析:x>d,d>a,所以d可作為x的左孩子,且可作為a的右孩子中的孩子。
(2)右右:在一個結點的右孩子的右孩子上插入了一個結點,導致平衡破壞。
(3)左右:在一個結點的左孩子的右孩子上插入了一個結點,導致平衡破壞。
(4)右左:在一個結點的右孩子的左孩子上插入了一個結點,導致平衡破壞。
通過觀察得出規律:
左左,右右只需做出一次旋轉變換即可重新得出平衡二叉樹。
左右,右左,需要做出兩次旋轉變化才能得到平衡二叉樹。左右,一次變化得到左左,然後再變化得到平衡;右左,一次變化得到右右,然後再變化得到平衡。
這樣,看網易這道校園招聘題就有思路了:
以下是一顆平衡二叉樹,請畫出插入鍵值3以後的這顆平衡二叉樹。
變換過程:
相關文章
- 資料結構-平衡二叉樹資料結構二叉樹
- 資料結構——平衡二叉樹資料結構二叉樹
- 網易校園招聘c++題目--如何讓new操作符不分配記憶體,只呼叫建構函式C++記憶體函式
- 演算法與資料結構——AVL樹(平衡二叉搜尋樹)演算法資料結構
- 【資料庫】網易校園招聘筆試題--資料庫事務的定義,屬性,以及隔離級別資料庫筆試
- 【資料結構與演算法】手撕平衡二叉樹資料結構演算法二叉樹
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 資料結構(樹):二叉樹資料結構二叉樹
- 【整理】資料結構——題目資料結構
- 資料結構與演算法-二叉查詢樹平衡(DSW)資料結構演算法
- 資料結構與演算法-二叉查詢樹平衡(AVL)資料結構演算法
- 資料結構高階--AVL(平衡二叉樹)(圖解+實現)資料結構二叉樹圖解
- 【資料結構第四周】樹知識點整理(下)【平衡二叉樹】資料結構二叉樹
- 資料插入問題。
- 資料結構-二叉樹資料結構二叉樹
- 資料結構 - 二叉樹資料結構二叉樹
- 【資料結構】二叉樹!!!資料結構二叉樹
- java資料結構和演算法——平衡二叉樹之左旋轉Java資料結構演算法二叉樹
- 資料結構和演算法面試題系列—二叉樹面試題彙總資料結構演算法面試題二叉樹
- 什麼是泛型?,Set集合,TreeSet集合自然排序和比較器排序,資料結構-二叉樹,資料結構-平衡二叉樹泛型排序資料結構二叉樹
- 二叉樹相關題目二叉樹
- 校園招聘的思考
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- Java 樹結構實際應用 四(平衡二叉樹/AVL樹)Java二叉樹
- 資料結構之「二叉樹」資料結構二叉樹
- 自動平衡二叉樹的構建-AVL樹二叉樹
- 資料結構——樹與二叉樹的遍歷資料結構二叉樹
- [資料結構] 樹、二叉樹、森林的轉換資料結構二叉樹
- 二叉樹(資料結構)——利用“遞迴”思想實現相關演算法問題二叉樹資料結構遞迴演算法
- 資料結構和演算法面試題系列—二叉樹基礎資料結構演算法面試題二叉樹
- 資料結構之二叉樹的建立資料結構二叉樹
- 【資料結構】建立二叉樹的方法資料結構二叉樹
- 部分二叉樹題目彙總二叉樹
- 資料結構——二叉樹進階資料結構二叉樹
- 資料結構-二叉搜尋樹資料結構
- 資料結構 二叉樹遍歷資料結構二叉樹
- 【資料結構】二叉搜尋樹!!!資料結構
- 資料結構分析之二叉樹資料結構二叉樹