排序 内部排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序 交换排序 冒泡排序 快速排序 直接插入排序 给定一组序列,假定第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依此将当前处理的记录插入到其之前的有序序列中,直到最后一个记录插入到有序 ...
分类:
编程语言 时间:
2019-11-02 00:22:49
阅读次数:
86
链表排序之插入快速算法: 排序前:6 2 8 4 9 5 1 3 7 排序后:1 2 3 4 5 6 7 8 9 ...
分类:
编程语言 时间:
2019-10-28 21:15:36
阅读次数:
143
1,简单数组按升序排序 2.简单数组降序排序 3.结构体排序 4.vector排序 5.vector结构体排序 ...
分类:
编程语言 时间:
2019-10-17 14:16:07
阅读次数:
87
算法理解: 对于无序数组里的任意一个数字V,总有一部分数字小于V,一部分数字大于V。如果我们将比V小的数字放在V的前面,比V大的数字放在后面,那V所在的位置就是整个数组排序后V应该在的位置。 同时我们得到了两个连续的无序数组,和归并排序一样左右递归处理即可。 例一:求数组第k小元素 ...
分类:
编程语言 时间:
2019-10-17 00:50:53
阅读次数:
99
算法理解: 一个数组长度为n,他的前m个元素是升序的,后n-m个元素升序的,怎么使整个数组变成一个升序数组? 如n=6,m=3 排序前 排序后 归并排序采用了分治的想法,一个数组如果左边有序,右边有序则进行合并,如果左边无序递归处理,同理右边也递归处理。 由于归并排序每次使严格二分,所以时间复杂度是 ...
分类:
编程语言 时间:
2019-10-16 17:43:49
阅读次数:
82
算法理解:给你长度为n的一个数组a【】,输出n个值,分别为a[0]-a[i](0<=i<n)的最大值 如: 2 最大值为2 2 1 最大值为2 2 1 3 最大值为3 2 1 3 5 最大值为5 2 1 3 5 4 最大值为5 所以输出应该使2 2 3 5 5 这时候就要用到冒泡排序(不难看出选择排 ...
分类:
编程语言 时间:
2019-10-15 09:54:17
阅读次数:
73
接下来我来讲述一下插入排序法。 首先来解释一下插入排序法的原理,它的原理是每插入一个数都要将它和之前的已经完成排序的序列进行重新排序,也就是要找到新插入的数对应原序列中的位置。那么也就是说,每次插入一个数都要对原来排序好的那部分序列进行重新的排序,时间复杂度同样为O(n2)。 这种算法是稳定的排序方 ...
分类:
编程语言 时间:
2019-10-14 14:31:58
阅读次数:
103
排序算法 1 冒泡排序 相邻元素两辆比较,大的往后放.第一次将数据遍历完成之后,最大值就出现在了最大的索引处.同理,即可得到一个排好序的数组. 过程图解: 代码实现 第一次遍历代码 完整代码 2 选择排序 选择排序改进了冒泡排序,每次遍历只做一次交换.例如:每次遍历都找到最大值,将最大值放到最后的位 ...
分类:
编程语言 时间:
2019-10-06 11:13:13
阅读次数:
81
一.对一个数组用堆排的方法排序 二.链表实现插入排序 三.设计一个算法,在尽可能少的时间里内重排数组,将所有关键字负值记录放在所有关键字非负值记录之前。O( n ) 的时间复杂度 四.写双冒泡排序算法。( 排序过程中交替改变扫描方向 ) 五.将两个递增的有序的单链表合并成一个递增有序的单链表。( 算 ...
分类:
编程语言 时间:
2019-10-06 09:36:45
阅读次数:
72
知识储备 python 后端工程师每天做什么? 网站后台业务逻辑 为网站提供API 为产品、运营提供后台网站工具,比如后台运营系统。 学习 上: 面试流程、技巧 python语法基础、性能剖析优化 算法与数据结构、内置算法、排序…… 编程范式,各种模式(单例模式……) 操作系统,Linux命令、线程 ...
分类:
编程语言 时间:
2019-09-29 16:59:23
阅读次数:
115