#include "stdio.h"
#include "malloc.h"
#define maxlength 128
struct node
;struct node* createnode(int value)
struct stack
;struct queue
;void addchild(struct node* node, struct node* childnode)
else
}void firstroot(struct node* root) //遞迴先根遍歷
}struct node* pop(struct stack* stack)
void pull(struct stack* stack, struct node* node)
void firstroot_stack(struct node* root) //用棧來實現
while(child_stack->top != -1)}}
struct node* out(struct queue* queue)
void in(struct queue* queue, struct node* node)
void layer_root(struct node* root) //遞迴層次遍歷只能用佇列實現}}
/*樹的結構為
1-----
2 3 4
- -5 6
*/int main()
樹相關的操作
講乙個二叉樹變為排序二叉樹 struct treenode void insertbstree treenode root,int data else p p right if parent null root tempnode else void pretranverse treenode roo...
樹的相關操作
樹的直徑 對於樹上的邊帶有權重的話 而且每個節點最多只能經過一次的話 我們定義樹的直徑是倆個點最大距離為樹的直徑 然後其他的點的最大距離為到倆個直徑端點的最大的那個 include include include include include include include include inc...
b樹及其相關操作
b樹的插入 1.類似於二叉排序樹,按照關鍵字大小插入到最低層的某個非葉節點。2.如果插入後結點關鍵字輸滿足b樹階的要求 關鍵字數 b樹階 1 終止 3.如果結點上的關鍵字樹大於等於b樹的階,如對階 3的b樹,最多關鍵字數為2,此時進行了插入結點後該結點關鍵字數為3,則設三個關鍵字從大到小分別叫a,b...