关于html:第-22-题如何理解选择排序

3次阅读

共计 747 个字符,预计需要花费 2 分钟才能阅读完成。

什么是抉择排序?

根本思维:在一个排列中划分为有序区和无序区,有序区在右边,无序区在左边。首先在无序区中找到最小(大)元素,寄存到有序区的起始地位,而后,再从残余的无序区中持续寻找最小(大)元素,而后放到有序区的开端。以此类推,直到无序区没有元素可排列

直观表白:就是在一个数组中遍历查找,找到小的放在数组的左侧,而后在残余的元素中持续查找,直到排序实现

算法形容

假如一个数组中有 2 个区域

5, 8, 2, 3, 1

有序区为空,无序区为 5, 8, 2, 3, 1

-----------------------------------

首先:记录数组的第一个值(5),看看还有没有比它更小的,如果有则记录下来(1)。直到数组第一遍遍历实现。而后把最小的值(1)和无序区的第一个值(5)替换地位

后果:1, 8, 2, 3, 5

有序区为 1,无序区为 8, 2, 3, 5

-----------------------------------

而后进行第二遍遍历,在无序区中持续查找最小值(2),遍历结束后将最小值(2)与无序区第一值(8)替换地位

后果:1, 2, 8, 3, 5

有序区为 1, 2,无序区为 8, 3, 5

-----------------------------------

… 以此类推,直到无序区为空

<img src=”https://noxussj.top:3000/21/1.gif”></img>

参考资料
值得珍藏的十大经典排序算法

附加

  • 此文章通过自媒体多平台公布,公布后不再进行保护,如对内容有任何异议能够到下方的 GitHub 中进行探讨
  • 【继续保护 / 更新 500+ 前端面试题 / 笔记】https://github.com/noxussj/In…
  • 【利用 THREE.JS 实现 3D 城市建模(珠海市)】https://3d.noxussj.top/
正文完
 0