数据结构笔记:选择排序
原文地址添加链接描述
分类目录——数据结构笔记
每一步在未排序部分去比较当前标记的最小值(初始化为第1个)与当前值的大小,更新(或不跟新)最小值的索引,维护的是一个最小值的索引
每一轮找一个最小值,替换未排序部分最开始的值与标记的最小值
插入排序也是将序列分为前后两个部分,前面有序部分,后面无序部分
实现
def selectsort(alist):n = len(alist)for i in range(n-1):index_min = ifor j in range(i+1, n):if alist[j]<alist[index_min]:index_min = jalist[i], alist[index_min] = alist[index_min], alist[i]
测试
if __name__ == '__main__':ll = [3,6,2,4,7,5,8,1,0]print(ll)selectsort(ll)print(ll)
时间复杂度
- 最优时间复杂度:O(n^2)
最坏时间复杂度:O(n^2)
- 稳定性:不稳定(考虑升序每次选择最大的情况)
数据结构笔记:选择排序相关推荐
- 输入法按照选字频率排序的C语言程序算法,算法与数据结构之选择排序(C语言)...
#include #include void SelectSort(int *a,int n);//预声明要调用的函数 int main(void) { int k; int x[]={,,,,,,, ...
- 数据结构 - 简单选择排序法
数据结构 - 简单选择排序法 在之前的博文里已经介绍过排序的两个基本方法: 双重循环法和冒泡排序法. 基本思想 其实上面两种方法的基本思想都是一样的: 就是将排序步骤分成两层循环, 在内层的每1个循环 ...
- 数据结构-简单选择排序(C语言)
文章目录 1.基本思想: 2.例子讲解: 3.代码实例C语言: 4.时间复杂度分析 1.基本思想: 第i趟排序开始时,当前有序区和无序区分别为R[0-i-1],R[i-n-1] (0<=i< ...
- 数据结构 - 树形选择排序 (tree selection sort) 具体解释 及 代码(C++)
树形选择排序 (tree selection sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 算法逻辑: 依据节点的大小, ...
- 数据结构之——选择排序
选择排序的基本思想为:每一趟(例如第i趟)在后面的n-i+1(i=1,2,3,-...,n-1)个待排序元素中选取关键字最小的元素,作为有序序列的第i个元素,直到n-1趟做完,待排序元素只剩下一个,就 ...
- 算法与数据结构(选择排序)
选择排序 Select Sort 从待排序序列中选出最小(或最大)元素,放入新建的有序序列中,并将其从原无序序列移除.不断重复直到无序序列最终没有元素剩余 选择排序规则: 总共要进行 n-1 次循环 ...
- 数据结构之选择排序:堆排序
选择排序:堆排序 思维导图: 堆的概念: 堆的初始化: 堆排序的算法思想: 堆排序代码实现: 堆排序的插入: 堆排序的删除: 堆排序的性能: 思维导图: 堆的概念: 根>=左右孩子节点的顺序存储 ...
- 数据结构之选择排序:直接选择排序
选择排序:直接选择排序 思维导图: 选择排序的基本思想: 选择排序的代码实现: 演示: 选择排序的性能: 思维导图: 选择排序的基本思想: 选择排序的代码实现: void SelectSort(int ...
- java数据结构之选择排序
作为java排序算法中的一种经典的排序算法,选择排序的思想还是比较容易理解的,其主要的排序过程为: 每一趟从待排序记录中选出最小元素,顺序放在已排好序的最后,直到全部记录排序完毕.也就是:每一趟在n+ ...
- Python数据结构:选择排序
选择排序 先遍历一遍找到最小的,然后再遍历一遍找到第二个最小的- 先写一个最简单版的 def select_sort_simple(li):li_new = []for i in range(len( ...
最新文章
- 2022-2028年中国芯片封测行业深度调研及投资前景预测报告(全卷)
- LeetCode 845. 数组中的最长山脉
- Linux下NFS(网络文件系统)的建立与配置方法
- ubuntu上的wordpress文章的本地存储位置
- everything便携版和安装版区别_什么是超极本?超极本和笔记本的区别科普知识...
- (百度云服务器的)域名不加www可以访问,添加就不能访问 (添加域名绑定)- 解决篇
- Android开发笔记(六十三)HTTP访问的通信方式
- 8.3、Spring Profiles 功能及内部原理
- python和java哪个好-Python和Java哪个好?有什么区别?
- Android虚拟机使用摄像头(命令行)
- IL汇编语言介绍(译)
- (C语言实现)栈求表达式的值(实数范围内)
- 9.2. switchport trunk encapsulation dot1q 提示 invaild input at^marker.
- Android 创建淡入淡出动画的详解
- CSS 列表样式 (ul)
- Android Wifi小记 (2)
- 戴尔笔记本win10系统恢复出厂设置
- 码云上传本地文件夹,码云只能上传20个文件的突破方法
- 2016广东工业大学第一次月赛补题
- 视壮科技:VS-RK3399简单的I2C 功能介绍