散列表 散列表用的是数组支持按照下标随机访问的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。可以说,没有数组,就没有散列表。
跳表 因为二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找算法了吗?只需要对链表稍加改造...
查找第一个大于等于给定值的元素 在有序数组中,查找第一个大于等于给定值的元素。比如,数组中存储的这样一个序列: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之...