PAT甲级1099 Build A Binary Search Tree (30分):[C++题解]建立二叉搜索树、dfs和bfs
生活随笔
收集整理的這篇文章主要介紹了
PAT甲级1099 Build A Binary Search Tree (30分):[C++题解]建立二叉搜索树、dfs和bfs
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目分析
- 題目鏈接
題目分析
題意重述:給定一棵二叉樹的結構,和待填的數值,請將數據填到二叉樹中的結點中,使之滿足二叉搜索樹的性質。 然后按照層序遍歷輸出數值。
分析:
本題分兩步。
第一步是按照二叉搜索樹來建樹;二叉搜索樹有個很好的性質,就是它的中序遍歷是從小到大有序的,所有這就是我們的切入點! 我們就 dfs按照樹的中序遍歷來往里填數,這樣構造出來的就是二叉搜索樹。
第二步是層序遍歷。二叉樹的層序遍歷就是bfs。
具體操作的時候,這里用到了 l 和r兩個數組,從根結點開始一路存下來每個結點的左兒子和右兒子。便于dfs和bfs。
ac代碼
題目鏈接
PAT甲級1099 Build A Binary Search Tree (30分)
總結
以上是生活随笔為你收集整理的PAT甲级1099 Build A Binary Search Tree (30分):[C++题解]建立二叉搜索树、dfs和bfs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAT甲级1086 Tree Trave
- 下一篇: PAT甲级1102 Invert a B