![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 69
十三_yeah
这个作者很懒,什么都没留下…
展开
-
简单选择排序算法
选择排序的基本思想是每一趟在n-i+1(i=1,2,3,...n-1)个记录中选取关键字最小的记录作为有序序列的第i个记录。最大的特点是交换移动数据的次数相当少,这样就节约了相应的时间。 时间复杂度是O(n^2),性能上要略优于冒泡排序。原创 2015-04-03 21:20:59 · 311 阅读 · 0 评论 -
冒泡排序算法
1.冒泡排序算法 冒泡排序是一种交换排序,基本思想是:两两比较相邻记录的关键字(元素的值),如果反序则交换位置,直到没有反序的记录为止。 假设待排序的关键字序列为{4,3,1,2,5,6},希望按照从小到大的顺序排列: 从后向前两两比较,将最小值放到最上面的位置 第一趟,i=0,6>5,不需要交换位置,5>2不需要交换,2>1,1 第二趟,i=1,6>5 5>2 2 算法描述:C++原创 2015-04-03 17:10:47 · 376 阅读 · 0 评论 -
插入排序
直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中。 想想我们打扑克牌的时候,是如何理牌的呢?比如,先来了一个10,又来了一个4,这时候我会把4放到10的左边(右边), 下一张来了一个7,我会把7放到4和10的中间,这个过程中,我会先把7与10比较,发现7 然后将7与4比较,发现7>4,所以将7放到4的右侧。按照这个流程,最后所有的牌抓完,手中的牌也就理好了。 当表中只有原创 2015-04-04 10:48:13 · 363 阅读 · 0 评论 -
快速排序
快速排序的基本思想是,首先选择记录中的一个记录,作为枢轴(可以理解为是临界值),通过一趟排序将待记录分成两部分,其中一部分的记录都比枢轴小,另一部分的记录都比枢轴大,再分别对这两部分记录以此方法继续排序,直到整个记录是有序的。这里用到了递归的思想。 假设我们有一组待排序的序列{3,1,5,2,4,6},选择第一个记录3作为枢轴,从数组的两端向中间比较,将大于枢轴的记录交换到右边,小于枢轴的记录交原创 2015-04-06 20:06:30 · 454 阅读 · 0 评论