冒泡排序 冒泡排序算法又称交换排序算法,是从观察水中气泡变化构思而成,原理是从第一个元素开始比较相邻元素的大小,若大小顺序有误,则对调后再进行下一个元素的比较,就仿佛气泡逐渐从水底逐渐冒升到水面一样。如此扫描一次之后就可以确保最后一个元素位于正确的位置。接着再逐步进行第二次扫描,直到完成所有元素的排 ...
分类:
编程语言 时间:
2019-11-22 20:53:33
阅读次数:
86
学号20182325袁源 《数据结构与面向对象程序设计》第8周学习总结 教材学习内容总结 排序、算法、栈、队列 插入排序、交换排序,选择排序、基数排序、归并排序 用时间效率、空间效率、稳定性(数值相等次序不变)衡量算法。 树:由n个结点组成的有限集合 n=0为空树 非线性结构 DNS; 一对多;有且 ...
分类:
其他好文 时间:
2019-11-04 21:27:29
阅读次数:
84
void SelectSort(int nLen) { for (int i = 0; i g_szArray[nMax]) { nMax = j; } j++; } int tmp = g_szArray[i]; g_szArray... ...
分类:
编程语言 时间:
2019-11-04 09:34:34
阅读次数:
91
原文链接:https://www.cnblogs.com/DarrenChan/p/8807112.html 这三个排序的时间复杂度都是O(nlogn),所以这里放到一起说。 回到顶部 1. 快速排序# 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange s ...
分类:
编程语言 时间:
2019-11-02 15:57:28
阅读次数:
116
排序 内部排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序 交换排序 冒泡排序 快速排序 直接插入排序 给定一组序列,假定第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依此将当前处理的记录插入到其之前的有序序列中,直到最后一个记录插入到有序 ...
分类:
编程语言 时间:
2019-11-02 00:22:49
阅读次数:
86
看题目: 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数 ...
分类:
编程语言 时间:
2019-10-23 22:33:16
阅读次数:
94
一、排序算法的分类 1. 比较排序 VS 非比较排序 是否需要比较两个元素的大小才能进行排序 2. 交换排序 VS 插入排序 VS 选择排序 交换:每次只调换两个元素之间的位置 插入:遍历到的元素放入之前维护的已完成排序的序列中 选择:选择剩余元素中最大或最小的元素 3. 排序算法的稳定度 如果排序 ...
分类:
编程语言 时间:
2019-10-07 13:28:09
阅读次数:
81
1 堆的概念 堆是一棵顺序存储的完全二叉树。 其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。 其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。 举例来说,对于n个元素的序列{R0, R1, ... , Rn}当且仅当满足下列关系之一时,称之为堆: (1) R ...
分类:
编程语言 时间:
2019-10-03 16:04:06
阅读次数:
115
交换排序的基本思想是两两比较待排序元素的关键字,发现这两个元素的次序相反时即进行交换,直到没有反序的元素为止。本次介绍两种交换排序,即冒泡排序和快速排序。 1 冒泡排序 1. 1 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后 ...
分类:
编程语言 时间:
2019-10-01 21:02:43
阅读次数:
71
用交换排序的方式实现对int类型的数组arrays从小到大排序 如何把相应的数字放到相应的数组 for(int i=0; i<=arrays.Length-2; i++){ for(int j=i+1; j<=arrays.Length-1;j++)if(arrays[i]>arrays[j]){ ...
分类:
编程语言 时间:
2019-09-29 23:59:18
阅读次数:
170