藍橋杯 顯示二叉樹

2021-07-12 03:25:54 字數 1092 閱讀 1884

排序二叉樹的特徵是:

某個節點的左子樹的所有節點值都不大於本節點值。

某個節點的右子樹的所有節點值都不小於本節點值。

為了能形象地觀察二叉樹的建立過程,小明寫了一段程式來顯示出二叉樹的結構來。

#include

#include

#define n 1000

#define height 100

#define width 1000

struct bitree

;int max(int a, int b)

struct bitree* init(struct bitree* p, int v)

void add(struct bitree* me, struct bitree* the)

else

}//獲得子樹的顯示高度

int getheight(struct bitree* me)

//獲得子樹的顯示寬度

int getwidth(struct bitree* me)

int getrootpos(struct bitree* me, int x)

//把緩衝區當二維畫布用

void printinbuf(struct bitree* me, char buf[width], int x, int y)

void showbuf(char x[width])

if(x[i][0]) printf("%s\n",x[i]);

else break;}}

void show(struct bitree* me)

{char buf[height][width];

int i,j;

for(i=0; i|

/--------------500---\

| |/--200---\ /--509\

| | | |

100 /--250---\ 507 600\

| | |

220 /--450 650

|440

填補**:if(me->r) printinbuf(me->r,buf,p3,y+2);

藍橋杯 橫向列印二叉樹

讀入一棵二叉搜尋樹並橫向列印 樣例10 8 5 7 12 4 樣例輸出 列印的 其實是子節點和祖先節點的連線,如果在搜尋種能記錄節點自身一行最末尾的 使其子節點能夠列印與祖先節點的連線,就可以列印成樹,但子節點不是和所有祖先節點都有連線的,子節點和直接父親節點一定有連線。在例子中,搜尋過程 8 5 ...

藍橋杯 演算法訓練 FBI樹(二叉樹)

演算法訓練 fbi樹 時間限制 1.0s 記憶體限制 256.0mb 問題描述 我們可以把由 0 和 1 組成的字串分為三類 全 0 串稱為b串,全 1 串稱為i串,既含 0 又含 1 的串則稱為f串。fbi樹是一種二叉樹,它的結點型別也包括f結點,b結點和i結點三種。由乙個長度為2 n的 01 串...

藍橋杯訓練 動態規劃 蘋果二叉樹

問題描述 二叉蘋果樹 題目描述 有一棵蘋果樹,如果樹枝有分叉,一定是分2叉 就是說沒有只有1個兒子的結點 這棵樹共有n個結點 葉子點或者樹枝分叉點 編號為1 n,樹根編號一定是1。我們用一根樹枝兩端連線的結點的編號來描述一根樹枝的位置。下面是一顆有4個樹枝的樹 2 5 3 4 1 現在這顆樹枝條太多...