JavaScript ,Python,java,Go系列算法之选择排序

乐搏学院 · · 2237 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:

wKioL1kSzhPh9ioxAAHcPIbdiTU597.png-wh_50

 

选择排序

  选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。通俗来说就是你们中间谁最小谁就出列,站到队列的最后边,然后继续对着剩余的无序数组说你们中间谁最小谁就出列,站到队列的最后边,一直到最后一个,继续站到最后边,这样数组就有了顺序,从小到大。

 

1、算法步骤

    1. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置

    2. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

    3. 重复第二步,直到所有元素均排序完毕。

 

 

2、动图演示

 

wKiom1kSzqbgjq4sAAAs5uKwBWE096.png-wh_50

 

3、JavaScript 代码实现

 

wKioL1kSzvXDvWCcAABkqxEcOHU539.png-wh_50

 

 

4. Python 代码实现

 

wKioL1kSzzmBN3mNAAAlY8bJ2D0968.png-wh_50

 

 

5、java实现

 

wKiom1kSz2Wi2DsbAABtumKWm4Q050.png-wh_50

 

 

6、Go 代码实现

 

wKioL1kSz5WztAspAAA6XVosI18140.png-wh_50

 

 

 远方 前端和golang后端微服务开发,架构,团队主要关注前端,客户端,并发响应。现在就职于外企,技术总监,微服务架构。经常活跃在 从零开始自学前端方向、大前端技术、全栈技术群、ionic2混合式app开发等微信群里面做一些分享,希望通过自身的影响让周围的人能够感受多点这个行业的余温,乐于去帮助那些需要解决技术问题的人群。微信请联系:Sen0676 

 

  近期我将教会你如何自己学习编程技术,如何自己去写一份不错的简历,找到自己想要的工作。梦想从这里开始。结合我自己学习前端找工作的经历来说,如何系统学习、模块化。我将分享我自己如何自学前端,如何在实践中提升开发效率、规范开发流程。

  • 1、前端的自学和提高

  • 2、简历的制作和投递

  • 3、前端面试工作时应该掌握的技能

  • 4、前端面试的一些问题设置

  • 5、现在企业需要前端招聘的人才等

登录乐搏学院官网http://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~

本文出自 “知乎技术” 博客,请务必保留此出处http://liuzhiying.blog.51cto.com/5850988/1924221


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:乐搏学院

查看原文:JavaScript ,Python,java,Go系列算法之选择排序

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2237 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传