浙江大學資料結構(4 1二叉搜尋樹)

2021-09-20 18:53:41 字數 703 閱讀 2027

查詢問題:

什麼是二叉搜尋樹?

二叉搜尋樹:一棵二叉樹,可以為空;如果不為空,滿足以下性質:

非空左子樹的所有鍵值小於其根結點的鍵值。

非空右子樹的所有鍵值大於其根結點的鍵值。

左、右子樹都是二叉搜尋樹。

二叉搜尋樹操作的特別函式:

bintree insert(elementtype x,bintree bst)

bintree delete(elementtype x,bintree bst)

二叉搜尋樹的查詢操作:find

若兩者比較結果是相等,搜尋完成,返回指向此結點的指標。

// 尾遞迴實現

position find(elementtype x,bintree bst)

// 迭代實現

position iterfind(elementtype x,bintree bst)

return null;

}// 查詢的效率決定於樹的高度

查詢最大和最大元素

// 查詢最小元素的遞迴函式

position findmin(bintree bst)

// 查詢最大元素的迭代函式

position findmax(bintree bst)

PTA資料結構習題(浙江大學)

感謝疫情期間pta開放免費練習,趁著這個機會補一下資料結構的代 include include include struct stud node struct stud node createlist struct stud node deletelist struct stud node head...

浙江大學 資料結構 堆的操作

題目 05 樹7 堆中的路徑 25分 將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。每組測試第1行包含2個正整數nn n和mm m 1000 le 1000 1 000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10...

二叉搜尋樹c 資料結構二叉搜尋樹

在n個動態的整數中搜尋某個整數?檢視其是否存在 假設使用動態陣列存放元素,從第 0 個位置開始遍歷搜尋,平均時間複雜度 o n 如果維護乙個有序的動態陣列,使用二分搜尋,最壞時間複雜度 o logn 但是新增 刪除的平均時間複雜度是 o n 針對這個需求,有沒有更好的方案?今天我們主要講的就是二叉搜...