摘要: 1. 排序原理: (1)从待排序序列中找到最小(大)的元素,存放到排序序列的起始位置; (2)从剩余的待排序序列中继续寻找最小(大)元素,然后放到已排序序列的末尾; (3)重复执行(2),直到所有排序完成。 2. 复杂度: 空间复杂度O(1) 时间平均复杂度O(n^2) 3. 总结: (1)由于存在 阅读全文
posted @ 2020-04-15 12:19 南溪风 阅读(528) 评论(0) 推荐(0)
摘要: 1. 定义:把记录按下标的一定增量分组,对于每组使用直接插入排序算法的排序;随着增量的逐渐减少,每组包含的关键字越来越少,当增量减至1时,整个文件被分为一组,算法便终止。 2. 原理: (1)计算步长:步长=数组长度/2; (2)根据步长分组,每组内部实行直接插入排序; (3)重复执行(1)、(2) 阅读全文
posted @ 2020-04-07 22:21 南溪风 阅读(145) 评论(0) 推荐(0)
摘要: 1. 基本原理: (1) 从数组第一个元素开始,该元素可默认是排好序的; (2) 取下一个元素,在已经排好的序列中从后向前扫描; (3) 若该元素(有序序列)大于新元素,将该元素移到下一位置; (4) 重复(3),直到已排序的元素不大于新元素位置,将新元素插入到该元素的下一位置 (5) 重复(2)、 阅读全文
posted @ 2020-04-04 22:15 南溪风 阅读(207) 评论(0) 推荐(0)
摘要: 1. 三位取中法原理: (1)取数组的首中尾位置的元素进行 (2)对首中尾三个位置的元素按照顺序排序 (3)将排好顺序地中位元素放到数组的倒数第二的位置 (4)下界指针从左侧第二个开始找比基准元素大的,找到停止,再从倒数第三个数开始找比基准元素小的,找到停止,交换上界指针和下界指针指向的 值,继续从 阅读全文
posted @ 2020-04-03 07:33 南溪风 阅读(1789) 评论(0) 推荐(0)
摘要: 1. 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进 阅读全文
posted @ 2020-04-02 15:55 南溪风 阅读(206) 评论(0) 推荐(0)
摘要: 冒泡排序(Bubble Sort):重复地走访要排序的元素列,依次比较两个相邻元素,如果顺序错误就把它们交换过来,直到没有相邻的元素需要交换,即排序完成。 算法原理冒泡排序演示 从元素左侧开始,比较相邻元素。若第一个比第二个大,则交换,否则第二个和第三个比,依次比较执行直到最后一个元素。 在上面一趟 阅读全文
posted @ 2020-04-01 21:25 南溪风 阅读(219) 评论(0) 推荐(0)