数据结构与算法-- 二叉树后续遍历序列校验
生活随笔
收集整理的這篇文章主要介紹了
数据结构与算法-- 二叉树后续遍历序列校验
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
二叉樹后續(xù)遍歷序列校驗
-
題目:輸入一個整數(shù)數(shù)組,判斷改數(shù)組是否是某個二叉搜索樹的后續(xù)遍歷結(jié)果,如果是返回true否則false,假設輸入數(shù)組的任意兩個數(shù)字不相同。
-
例如輸入{5,7,6,9,11,10,8}則返回true,因為這個整數(shù)序列是如下圖二叉搜索樹的后續(xù)遍歷結(jié)果:
-
如果輸入{7,4,6,5}沒有哪個二叉搜索樹后續(xù)遍歷結(jié)果是這個序列。
-
我們必須先知道二叉搜索樹的一些基本特性,在之前的文章:二叉查找樹實現(xiàn)原理對二叉搜索樹進行的詳細的說明,已經(jīng)案例分析,在二叉搜索樹中如下兩個性質(zhì):
- 對于樹中每個節(jié)點X,左子樹中所有項小于X中的項
- 而右子樹中的所有元素都大于X中的項目
-
分析:
- 因為是后續(xù)遍歷,因此根節(jié)點在末尾,左移8 是根
- 數(shù)組分兩部分,前面左子樹節(jié)點比如比根節(jié)點小
- 后面右子樹節(jié)點必然比根節(jié)點大
- 第二個7,4,6,5 ,是中間小兩邊大不存在這種情況
- 判斷完左右子樹都符合要求,則分別將左右子樹當成完整的樹依次執(zhí)行以上步驟,遞歸實現(xiàn)。
- 如上分析有如下實現(xiàn):
上一篇:數(shù)據(jù)結(jié)構(gòu)與算法-- 廣度優(yōu)先打印二叉樹
下一篇:數(shù)據(jù)結(jié)構(gòu)與算法-- 二叉樹中和為某一值的路徑
總結(jié)
以上是生活随笔為你收集整理的数据结构与算法-- 二叉树后续遍历序列校验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 酷屏资源怎么下载和使用
- 下一篇: 数据结构与索引-- B+树索引