我上軟體課程設計,要二叉樹的設計流程圖和源程式,求各路高

2021-04-26 20:47:33 字數 2332 閱讀 5562

1樓:千嬉線

#include "stdio.h"

#include "string.h"

#include "malloc.h"

typedef struct bitnodebitnode,*bitree;

bitree create(bitree t)return t;

} void preorder(bitree t)} void zhongxu(bitree t)} void houxu(bitree t)} main()

c語言課程設計,二叉樹,源程式已給出,求三種便利程式和注釋以及流程圖!

2樓:匿名使用者

#include

#include

#include

struct tree //定義結構體tree

;//宣告函式

struct tree *create_btree(struct tree *root,struct tree *r,char info);

struct tree *search_btree(struct tree *root,char key);

void print_btree(struct tree *r,int l);

void pretra(struct tree *head);

void midtra(struct tree *head);

void afttra(struct tree *head);

main ()

while(*s) ;

//printf("%d",root->left);

print_btree(root,0);

printf("前序遍歷:\n");

pretra(root);

printf("\n");

printf("中序遍歷:\n");

midtra(root);

printf("\n");

printf("後序遍歷:\n");

afttra(root);

printf("\n");

key='1';

while (key)

} /* btree.c 結束 */

//建立二叉樹,實際上建立的是乙個有序二叉樹

struct tree *create_btree(struct tree *root,struct tree *r,char info)

r->left=0; //初始化這個新結點

r->right=0;

r->info=info; //將輸入的字元賦值給這個結點

if (root) //如果root不為空

else

return r; //返回新結點的指標的位址

} /* if = = 0 接下頁 */

if (info < r->info) //如果輸入的info小於r的info

create_btree(r,r->left,info); //遞迴呼叫,目的是插入到合適的位置,小則跟左子結點比較,沒有就加為左子結點

if(info>=r->info)

create_btree(r,r->right,info); //同理,沒有右子節點就加為右子結點

} /* create_btree(root,r,info) */

//查詢功能

struct tree *search_btree(struct tree *root,char key)

while(root->info!=key) //如果當前結點不是要查詢的結點

} /* while(root->info!=key) */

if (root !=0) //如果root不為空,也就是上面找到了root->info==key的值

>info); //那麼返回找到的值

return root ; //分會該值的指標,如果沒找到是null,找到的話就是找到結點的指標

} /* *search_btree(root,key) */

//二叉樹的輸出

void print_btree(struct tree *r,int l)

void pretra(struct tree *head) //前序遍歷

else

}void midtra(struct tree *head) //中序遍歷

else

}void afttra(struct tree *head) //後序遍歷

else}

二叉樹是樹的特例嗎,二叉樹是樹的特例嗎

什麼叫二叉樹的度?帶你了解它的特點 不是。儘管樹和二叉樹的概念之間有許多的類似,但它們是兩個不同的資料結構。因為從定義來看 二叉樹既不是只有兩個子樹的樹,也不是最多只有兩個子樹的樹。樹和二叉樹最主要的區別是 二叉樹中結點的子樹要區分左子樹和右字樹,即使在結點只有一棵子樹的情況下也要明確指出該子樹是左...

二叉樹結點計算,二叉樹的葉子節點數如何計算?

1.深度為m的滿二叉樹有2 m 1個結點.因為滿二叉樹的定義為 一顆深度為k且有2 k 1個結點的二叉樹稱為滿二叉樹.2.若要樹深為最小,顯然要使除最後一層外的每一層都有盡可能多的結點,即要二叉樹為完全二叉樹.由二叉樹的乙個重要性質 具有n個結點的完全二叉樹的深度為 log2n 1.這是在根節點層次...

vb中二叉樹問題,vb中二叉樹的度結點深度之間有什麼關係

二叉樹的bai結點一共du 有三種型別 度為2的結zhi點,度dao為1的結點,葉子結點。而三種回結點之間又存在答以下關係 不妨用n0 n1 n2分別代表葉子結點 1度的結點和2度的結點的數量 n2 1 n0 所以,總結點數m n0 n1 n2 在本題中 已經n0 70,n1 80 m 70 80 ...