--- 选择排序 ---一趟排序记录最小的数,放到第一个位置再一趟排序记录无序区最小的数,放到第二个位置......算法关键点:1. 有序区和无序区2. 无序区最小数的位置
def select_sort_simple(li):li_new = []for i in range(len(li)):min_val = min(li)li_new.append(min_val)li.remove(min_val)return li_newdef select_sort(li):for i in range(len(li) - 1):# 最小值的 index 初始值设置为无序区的第一个数min_loc = ifor j in range(i + 1, len(li)):if li[j] < li[min_loc]:# 如果有数比它小,则更新 indexmin_loc = jli[i], li[min_loc] = li[min_loc], li[i]

1.4_select_sort_选择排序相关推荐

  1. 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/

    大 O 表示法 大 O 表示法在讨论运行时间时,log 指的都是 log2 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度. 大 O 表示法指出 ...

  2. 交换排序图解_图解简单选择排序

    简单选择排序 有如下数组,我们需要对它从小到大排序,步骤如下: 在数组中找到最小值,然后与第一个位置交换. 除去第一个位置在数组中继续找最小值,与第二个位置交换,以此类推,直到末尾. 下图展示了整个交 ...

  3. 经典算法学习——直接选择排序

    直接选择排序和直接插入排序相似,都将数据分为有序区和无序区,所不同的是直接插入排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区.而直接选择排序是从无序区选一个最小的元素直接放到有序区的 ...

  4. 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序...

    先推荐一篇关于排序算法的文章:http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html 本文思路部分来源于上篇文章,但测得的结果似乎 ...

  5. 8)排序②排序算法之选择排序[1]直接选择排序

    1 #include<iostream> 2 using namespace std; 3 4 //*******直接选择排序********* 5 int select_sort(int ...

  6. 三种基本排序的实现及其效率对比:冒泡排序、选择排序和插入排序

    1 public class ThreeTypesOfBaseSort { 2 // ========================== 三种基本排序的效率对比 ================== ...

  7. 【算法导论】冒泡排序 选择排序

    冒泡排序: //从大到小 void bubble_sort(int array[],int len) {int i,j,t;for(i=0;i<len-1;i++){for(j=0;j<l ...

  8. 链表问题16——单链表的选择排序(python版本)

    题目 给定一个无序单链表头节点head,实现单链表的选择排序 要求:额外空间复杂度为O(1),时间复杂度O() 思路 选择排序是从未排序的部分中找到最小值,然后放在排好序部分的尾部. 开始整个链表都是 ...

  9. 链表问题16——单链表的选择排序

    题目 给定一个无序单链表头节点head,实现单链表的选择排序 要求:额外空间复杂度为O(1),时间复杂度O() 思路 选择排序是从未排序的部分中找到最小值,然后放在排好序部分的尾部. 开始整个链表都是 ...

最新文章

  1. UWP Composition API - PullToRefresh
  2. lightoj-1028 Trailing Zeroes (I)
  3. 机器学习中的训练集,验证集及测试集的关系
  4. 如何提高用户注册转化与用户激活
  5. TypeScript里get属性的实现
  6. python之解析最简单的xml
  7. Java基础 —— JVM内存模型与垃圾回收
  8. (并查集)Find them, Catch them
  9. SpringBoot2.0系列(4)---SpringBoot之使用JPA完成简单的rest api
  10. 关于“稳定”的相爱相杀:负载测试和压力测试
  11. Android 四大组件 之 BroadcastReceiver(广播接收者)
  12. CSI Tool安装使用讲解
  13. 点击邮箱名跳转到相对应的邮箱登陆页面
  14. Epicor客制化 - RowRule使用示例
  15. Apache Doris ODBC mysql外表注意事项
  16. 深度学习 再次爆发_如何教自己再次学习
  17. 关于微信的几个小技能(存起来,您会用得上)
  18. 鸿蒙操作系统详细流程,鸿蒙系统的启动流程
  19. Python中随机梯度下降法
  20. python打包成exe其他电脑运行不了_将python文件打包成exe程序,复制到每台电脑都可以运行-exe是什么文件...

热门文章

  1. ajax调用外域接口不进回调函数_网易实战分享云信IM SDK接口设计实践
  2. java中类和实例化_Java中类的初始化与实例化
  3. python玩微信跳一跳_用python玩微信跳一跳
  4. vsto 外接程序安装成功为什么不显示_为什么说买笔记本一定要带雷电3接口?了解这5点你就明白了...
  5. putty 32位_了解linux系统远程操作软件,putty的安装过程!
  6. 保存多序列tiff文件_解码TIFF文件
  7. java同类型同字段名称对象赋值
  8. springboot maven打包pom配置
  9. 什么是同步异步?阻塞非阻塞?
  10. pychar 设置字体随鼠标滚轮调整大小