学习日记-03-关于 选择排序

排序是很多算法的基础,很多算法的后续步骤是建立在有序的基础之上的。

选择排序:遍历一个列表,每一次遍历都找到整个数组中最小的值,然后将最小的值放在一个新的数组中,并在原列表中删除本次遍历的最小元素。

时间复杂度:O(N^2)

空间复杂度:总共O(N),O(1)辅助空间

写选择排序时,先定义一个找最小值函数,再写排序。注意:1.不要改变原list的顺序,找最小值的时候只用返回index的值就可以了。2.用list.pop删除最小值以便于下一次遍历时找到第二小的值。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址:http://theory.stanford.edu/~amitp/GameProgramming/ 1...
    达微阅读 19,709评论 0 28
  • 算法思想贪心思想双指针排序快速选择堆排序桶排序荷兰国旗问题二分查找搜索BFSDFSBacktracking分治动态...
    第六象限阅读 3,377评论 0 0
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 6,067评论 0 13
  • 原文:诚者,天之道也;诚之者,人之道也。诚者不勉而中,不思而得,从容中道圣人也。诚之者,择善而固执之者也。博学之,...
    运启阅读 558评论 0 0
  • RTRootNavigationController目的:越来越多的应用为每一个 VC 设置单独的导航条,而不是之...
    贝灬小晖阅读 2,676评论 0 0