假設以二叉連結串列儲存的二叉數中,每個結點所含資料結構元素均為單字母,試編寫演算法,按樹狀列印二叉樹的算

時間 2021-09-15 00:09:59

1樓:匿名使用者

廣度優先遍歷,按層列印應該就行了。

不過考慮到控制檯一行最多列印80個字元,要表現出子結點之間的左右關係,麼根結點要在第40或者41格列印,那麼第二層2個結點的列印空間是39和40個字元寬,考慮39個字元寬的那邊,結點要列印在中間,即第20格,這樣,第三層結點的列印空間是19個字元寬,同理,第四層的列印空間是9個字元寬,第五層是4個字元寬,第六層是1個字元寬。因此,這個程式最多隻能顯示6層的二叉樹。

2樓:墨汁諾

按層列印。

考慮到控制檯一行最多列印80個字元,要表現出子結點之間的左右關係,麼根結點要在第40或者41格列印,第二層2個結點的列印空間是39和40個字元寬,考慮39個字元寬,結點要列印在中間,即第20格,這樣,第三層結點的列印空間是19個字元寬;

同理,第四層的列印空間是9個字元寬,第五層是4個字元寬,第六層是1個字元寬。因此,這個程式最多隻能顯示6層的二叉樹。

中序訪問二叉樹(從右子樹開始,而不是左子樹)的結點,根據結點的深度列印相應的空格,每列印一個字母就換行,當整個二叉樹的中序訪問結束後就列印出樹狀二叉樹了。

資料結構中,怎樣以二叉連結串列為儲存結構,分別寫出求二叉樹結點總數及葉子總數的演算法

同學,你們老師和我們老師留的作業是一模一樣的阿,我有現成的做好了的程式,除錯成功。這個程式的難點就在於這種很彆扭的輸入形式,所以我為它設計了一個結構體形式存放輸入內容,再將它轉化成了線性結構。include include struct inform 建立輸入資訊結構體inform struct l...

什麼是二叉樹的順序儲存,為什麼說二叉樹是非線性儲存結構?不是說二叉樹可以順序儲存和鏈式儲存嗎?感覺順序儲存是線性的呀?怎麼

二叉樹的順序儲存是將二叉樹的所有結點,按照一定的次序,儲存到一片連續的儲存單元中 二叉樹的順序儲存必須將結點排成一個適當的線性序列,使得結點在這個序列中的相應位置能反映出結點之間的邏輯關係。這種結構特別適用於近似滿二叉樹。在一棵具有n個結點的近似滿二叉樹中,當從樹根起,自上層到下層,逐層從左到右給所...

線索二叉樹,線索二叉樹的特點是什麼

根結點也需要處理,根結點的前驅為空,後繼為隊裡中的下一個元素。 二叉樹的二叉線索儲存表示 includestdio.h 線索二叉樹的特點是什麼 不知道是否你要的答案 二叉樹的遍歷本質上是將一個複雜的非線性結構轉換為線性結構,使每個結點都有了唯一前驅和後繼 第一個結點無前驅,最後一個結點無後繼 對於二...