當前位置:成語大全網 - 書法字典 - Unity &中的快速排序;& amp二進位檢索

Unity &中的快速排序;& amp二進位檢索

簡介:

快速排序是托尼·霍爾開發的壹種排序算法。平均而言,對n個項目進行排序需要進行ο(n log n)次比較。在最壞的情況下,需要ο(n ^ 2)比較,但這種情況並不常見。事實上,快速排序通常比其他ο(n log n)算法快得多,因為其內部循環可以在大多數架構上有效實現,並且在大多數真實世界的數據中,可以決定設計的選擇,從而減少所需時間的二次項的可能性。

步驟:

從序列中挑選出壹個元素,這個元素稱為“pivot”。

對序列重新排序,使所有小於基準值的元素都放在基準的前面,所有大於基準值的元素都放在基準的後面(兩邊可以有相同的數字)。該分區退出後,基準位於系列的中間。這稱為分區操作。

對小於參考值的元素子系列和大於參考值的元素子系列進行遞歸排序。

2.演示的結果如下所示。

二分搜索法又稱半搜索,具有比較次數少、搜索速度快、平均性能好的優點;它的缺點是需要對要查找的列表進行排序,並且難以插入和刪除。因此,對半搜索的方法適用於搜索沒有頻繁變化的頻繁有序列表。首先,假設表格中的元素按升序排列,將表格中間記錄的關鍵字與搜索關鍵字進行比較,如果相等,則搜索成功;否則,使用中間位置記錄將表分成兩個子表。如果中間位置記錄的關鍵字大於搜索關鍵字,則進壹步搜索前面的子表,否則進壹步搜索後面的子表。重復上述過程,直到找到滿足條件的記錄使搜索成功,或者直到子表不存在,此時搜索不成功。簡單來說,利用原理就是我們中學學過的二分搜索法,空間復雜度為O(n),時間復雜度為O(log(n))。

請註意,使用二分搜索法的數組必須是排序數組。