经典排序二:选择排序
来源:互联网 发布:mac导入后删除项目 编辑:程序博客网 时间:2024/06/08 02:46
思想:
还是先来看看选择排序的思想。选择排序的思想非常直接,不是要排序么?那好,我就从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。可以很清楚的发现,选择排序是固定位置,找元素。相比于插入排序的固定元素找位置,是两种思维方式。不过条条大路通罗马,两者的目的是一样的。
for(int i=0; i<v.size(); i++){ int min = v[i]; int temp; int index = i; for(int j=i+1;j<v.size();j++){ if(v[j] < min){ min = v[j]; index = j; } } temp = v[i]; v[i] = min; v[index]= temp; }
分析:
从选择排序的思想或者是上面的代码中,我们都不难看出,寻找最小的元素需要一个循环的过程,而排序又是需要一个循环的过程。因此显而易见,这个算法的时间复杂度也是O(n*n)的。这就意味值在n比较小的情况下,算法可以保证一定的速度,当n足够大时,算法的效率会降低。并且随着n的增大,算法的时间增长很快。因此使用时需要特别注意。
阅读全文
0 0
- 经典排序二:选择排序
- 经典算法(二):选择排序
- 排序二 选择排序
- 经典排序算法系列之二:选择排序
- 经典排序之选择排序
- 经典排序算法--选择排序
- 经典排序之 选择排序
- 经典排序之选择排序
- 经典排序算法--选择排序
- C经典 选择排序
- 【经典排序算法】选择排序、堆排序
- 排序算法《二》选择排序
- 排序之二-----选择排序
- 排序算法二:选择排序
- 排序算法二:选择排序
- Java排序二:选择排序
- 排序算法(二):选择排序
- 排序算法(二)-选择排序
- B树、B-树、B+树、B*树
- Java 异常输出后之前语句才输出的原因是什么?
- 微博爬虫“免登录”技巧详解及 Java 实现(业余草的博客)
- pdf转CAD怎么设置输出类型
- http协议
- 经典排序二:选择排序
- Android中Context的内存泄漏
- Python 查看帮助文档 dir(),help()
- angular过滤器 -- 截取字符串
- MySQL空值与非空值
- 基于jquery的拖拽插件
- 第四周项目三(1) 单链表的应用
- 字符串去重复
- CSS3中的矩阵