二叉樹的一系列操作

2021-09-30 00:04:57 字數 1193 閱讀 7580

遍歷建立二叉樹

先序遍歷的**如下:

int k,len,sum,x,y,z;

void

creatbitree

(bitree&t,

char ch)

if(ch[k]

=='0'

)else

}

中序遍歷和後序遍歷只是與先序遍歷遞迴的語句交換

二叉樹的層次遍歷

運用佇列先進先出的特性

過程:1入隊,2入隊,3入隊,1出隊,4入隊,5入隊,2出隊,6入隊,3出隊,4出隊,5出隊,6出隊

總結來說,就是根節點入隊,當子節點全部入隊後,根節點出隊,然後對其左右子結點同樣的操作。

typedef

struct bitnodebitnode,

*bitree;

typedef

struct

sqqueue;

void

initqueue

(sqqueue &q)

void

levelorder

(bitree &t,sqqueue &q)

if(t-

>rchild!=

null

) t = q.base[q.front++];

cout<

>data;

t = q.base[q.front];}

} cout<

}

交換左右子樹

**如下:

void

childchange

(bitree&t)

else

if(t-

>lchild==

null

&&t-

>rchild!=

null

)else

if(t-

>lchild!=

null

&&t-

>rchild==

null

)else

childchange

(t->lchild)

;childchange

(t->rchild);}

}

二叉樹的一系列操作

btree.h 先定義樹的節點 struct treenode struct btree btree.cppvoid btree buildtree vector int a 構建二叉搜尋樹 root newtreenode a 0 for int i 1 i a.size i node node ...

關於mysql 一系列操作

這是在linux 的mysql的資料庫操作,備份資料庫 mysqldump u root p cxn usr local backupcxn.sql 引數說明 cxn 代表著我要備份的資料庫名稱,usr local backupcxn.sql代表著備份到usr local下,輩分的名稱叫做backu...

樹狀陣列的一系列操作

1 樹狀陣列求逆序對 include include include using namespace std const int maxn 100010 int n,a maxn b maxn c maxn s maxn int lowbit int x void add int x int get...