深度解析樹操作

2021-08-07 11:36:38 字數 956 閱讀 4616

樹狀圖是一種資料結構,它是由n(n>=1)個有限節點組成乙個具有層次關係的集合。把它叫做「樹」是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。

通過此篇,你將會深入了解到樹的基本操作,便於以後使用樹時更加清楚。大家知道,對於樹的操作,有插入,刪除,遍歷等,但它本質上是如何實現的呢,下面我會通過**實現鍊錶的基本操作。

為了便於解釋,下面操作用二叉樹實現。 //二叉樹:每個節點最多含有兩個子樹的樹稱為二叉樹;

程式設計環境:linux 

1 #include2 #include3 #include4

5 using namespace std;

6 7 typedef struct nodenode,*tree;

11 12 node *init_tree(int date)

19 20 node *insert_tree(tree bt,int value)

24     if(bt->date > value)else if(bt->date < value)

29     return bt;

30 }

31 32 node *search_tree(tree bt,int value)else if(bt->date > value)else

41     return bt;

42 }

43 44 void clear_tree(tree bt)

50 51 node *pro_indor(tree bt)

58 59 node *in_indor(tree bt)

66 67 node *pos_indor(tree bt)

74 75 int main()

111    }

112     clear_tree(tree);

113    return 0;

114 }

深度解析佇列操作

大家都知道,佇列是一種特殊的線性表,是運算受到限制的一種線性表,只允許在表的一端進行插入,而在另一端進行刪除元素的線性表。隊尾 tail 是允許插入的一端。隊頭 head 是允許刪除的一端。空佇列是不含元素的空表。根據這樣的操作。佇列特點是先進先出 通過此篇,你將會深入了解到佇列的基本操作,便於以後...

深度解析棧操作

棧是一種特殊的表,這種表只在表頭進行插入和刪除操作。因此,表頭對於棧來說具有特殊的意義,稱為棧頂。相應地,表尾稱為棧底。不含任何元素的棧稱為空棧。棧的特點 後進先出。通過此篇,你將會深入了解到棧的基本操作,便於以後使用棧時更加清楚。大家知道,對於棧的操作,有出棧,入棧,檢視棧頂元素等,但它本質上是如...

Const 深度解析

物件導向是c 的重要特性.但是c 在c的基礎上新增加的幾點優化也是很耀眼的 就const直接可以取代c中的 define 以下幾點很重要,學不好後果也也很嚴重 1.const常量,如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安...