排序算法
wuxiaosi808
这个作者很懒,什么都没留下…
展开
-
冒泡排序算法
冒泡排序冒泡排序是最简单的排序算法。基本思想是迭代地对输入的序列中的第一个元素到最后一个元素进行两两比较,当需要时交换这两个元素的位置。该过程持续迭代直到在一趟排序过程中不需要交换操作位置。相比于其他排序算法的优势,冒泡排序可以检测输入的序列是否已经是排序的。void BubbleSort(int[] A,int n){for(int pass=n-1;pass>=0;pass--){原创 2017-09-03 14:31:30 · 291 阅读 · 0 评论 -
选择排序算法
选择排序算法选择排序算法是一种原地排序算法,适用于小文件。由于选择操作时基于键值的且交换操作只在需要的时候才执行,所以选择排序常用于数值较大和键值较小的文件。优点是容易实现,原地排序(不需要额外的存储空间)。缺点是扩展性较差;O(N*N).算法:1)寻找序列中的最小值;2)用当前位置的值交换最小值;3)对所有元素重复上述过程,直到整个序列排序完成。 初始序列:原创 2017-09-03 14:43:40 · 268 阅读 · 0 评论 -
插入排序算法
插入排序算法插入排序算法是一种简单且有效的比较排序算法。在每次迭代过程中算法随机地从输入序列中移除一个元素,并将该元素插入待排序序列的正确位置。重复该过程,直到所有输入元素都被选择一次。优点是实现简单,数据量较少的时候效率高,稳定性,原地排序。原始序列:6 8 1 4 5 3 7 2,升序排列第一趟: 6 8 1 4 5 3 7 2,考虑索引位置0第二趟: 6 81原创 2017-09-03 15:03:49 · 302 阅读 · 0 评论 -
归并排序
归并排序是利用递归与分治技术将数据序列分为越来越小的半子表,在对半子表排序,最后再用递归方法排好序的半子表合并为越来越大的有序序列。思想:对于给定的一组记录,假n个记录,首先将每两个相邻的长度为1的子序列进行归并,得到n/2个长度为2或者1的有序子序列,(向上取整),再将其两两归并,反复执行此过程,直到得到一个有序的序列。关键的两步:第一步,划分为半子表;第二步,合并半子表。packa原创 2017-09-29 15:33:47 · 248 阅读 · 0 评论