二叉排序樹
二叉排序樹:也稱二叉查詢樹,要麼是一棵空樹,要麼是一棵具有如下特徵的非空樹;
1).若左子樹為空,則左子樹上所有節點關鍵字均小於根節點關鍵字;
2).若右子樹為空,則右子樹上所有節點關鍵字均大於根節點關鍵字;
3).左、右子樹也分別是一棵二叉排序樹;
因此:二叉排序樹是乙個遞迴的資料結構,可以方便呼叫遞迴演算法對二叉排序樹進行各種運算。
對二叉排序樹進行中序遍歷,可以得到乙個遞增的有序數列;
二分查詢:
mid=(low+high)/2=low+1/2(high-low);
也就是說mid等於在最低下標low加上最高下標high與low的差的一半;演算法科學家們考慮的是將這個1/2進行改進,改進為下面的計算方案:
mid=low+(key-a[low])/(a[high]-a[low])(high-low);//插值查詢
要求是表比較長,關鍵字分布比較均勻的情況下,插值查詢演算法的平均效能比折半查詢要好的多;
斐波那契查詢
利用**分割原理來實現的;
資料結構 資料結構緒論
資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...
資料結構 資料結構演算法
分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...
資料結構 01 資料與資料結構
1.資料data 資料是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。2.資料元素data elements 資料元素是組成資料的 有一定意義的基本單位,在計算機中通常作為整體進行處理。3.資料物件data object 資料物件是性質相同的資料元素的...