排序二叉樹的特徵是:
某個節點的左子樹的所有節點值都不大於本節點值。
某個節點的右子樹的所有節點值都不小於本節點值。
為了能形象地觀察二叉樹的建立過程,小明寫了一段程式來顯示出二叉樹的結構來。
#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 現在這顆樹枝條太多...