算法
呜啦啦、
一蓑烟雨任平生
展开
-
7种常见排序算法
1、冒泡排序 最简单的一种排序算法。先从数组中找到最大值(或最小值)并放到数组最左端(或最右端),然后在剩下的数字中找到次大值(或次小值),以此类推,直到数组有序排列。算法的时间复杂度为O(n^2)。 // 冒泡排序 void BubbleSort(int arr[], int length) { for (int i = 0; i < length; i++) { ...转载 2018-11-29 19:59:09 · 190 阅读 · 0 评论 -
二分查找
二分查找,也叫折半查找, 效率较高, 排序方式:要求线性表 顺序存储 时间复杂度:O(log2n) 原理: 0 1 2 3 4 5 6 7 8 9 比如我们要查找 2 找到数组的中间值下标,(9-0)/2 = 4 . 比交中间值,2 < arr[4] 那么又在 左侧比较: 0 1 ...原创 2018-12-10 19:47:21 · 149 阅读 · 0 评论 -
快速排序
时间复杂度:O (nlogn) 原理:随机选一个数(一般取 arr[0]),和其他数据比较,大的放这个数的右边,小的放这个数的左边 4 2 1 7 9 3 i j i = 最小下标,j = 最大下表。 取的标准 key = arr[0] = 4 开始:arr[ j ] < key ...原创 2018-12-10 20:25:42 · 158 阅读 · 0 评论