
散列表 散列表用的是數組支持按照下標隨機訪問的特性,所以散列表其實就是數組的一種擴展,由數組演化而來。可以說,沒有數組,就沒有散列表。
跳表 因為二分查找底層依賴的是數組隨機訪問的特性,所以只能用數組來實現。如果數據存儲在鏈表中,就真的沒法用二分查找算法了嗎?只需要對鏈表稍加改造...
查找第一個大于等于給定值的元素 在有序數組中,查找第一個大于等于給定值的元素。比如,數組中存儲的這樣一個序列:3,4,6,7,10。如果查找第一...
查找第一個值等于給定值得元素 有序數據集合中存在重復的數據,希望找到第一個值等于給定值的數據。比如下面這樣一個有序數組,其中,a[5]、a[6]...
二分查找 假設有1000條訂單數據,已經按照訂單金額從小到大排序,每個訂單金額都不同,并且最小單位是元。現在想知道是否存在金額等于19元的訂單。...
基數排序 假設有10萬個手機號碼,希望將這10萬個手機號從小到大排序,有什么比較快速地排序方法呢?快排時間復雜度可以做到O(nlogn),還有更...
計數排序 計數排序其實是桶排序的一種特殊情況。當要排序的n個數據,所處的范圍并不大的時候,比如最大值是K,就可以把數據劃分成K個桶。每個桶內的數...
桶排序(Bucket Sort) 桶排序核心思想是將要排序的數據分到幾個有序的桶里,每個桶里的數據在單獨進行排序。桶內排完序之后,再把每個桶里的...
快速排序 快速排序的思想是這樣的:如果要排序數組中下標從p到r之間的一組數據,選擇p到r之間的任意一個數據作為pivot(分區點)。遍歷p到r之...