二叉樹排序

2022-04-09 19:58:04 字數 1071 閱讀 7048

二叉排序數的(遞迴)定義:1、若左子樹非空,則左子樹所有節點的值均小於它的根節點;2、若右子樹非空,則右子樹所有節點的值均大於於它的根節點;3、左右子樹也分別為二叉排序樹。

如圖:

鍊錶實現(比較簡單):

view code 

#include

#include

typedef

struct

node

node;

void init(node *t)

node * insert(node *t , int

key)

else

return t; //

important!

}node * creat(node *t)

returnt;}

void inorder(node * t) //

中序遍歷輸出

}int

main()

陣列實現(這個有意思):

定義left, right作為標記,記錄但前節點是哪個點的左(右)孩子

比如我們要對 4,3, 8,6,1。排序排好序後的二叉樹如圖:

把這個過程在紙上用筆走一遍,你就會一目了然。

二叉樹,排序二叉樹

說到二叉樹,這可是資料結構裡面的非常重要的一種資料結構,二叉樹是樹的一種,本身具有遞迴性質,所以基於二叉樹的一些演算法很容易用遞迴演算法去實現。作為一種非線性結構,比起線性結構還是相對複雜的,很多人甚至看不懂演算法的意思,不能理解。其實一開始接觸這些東西還是挺暈的,不過你多看幾遍,上機實現可能你就會...

排序二叉樹or搜尋二叉樹or查詢二叉樹

排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...

排序二叉樹or搜尋二叉樹or查詢二叉樹

排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...