【第六天 - Bubble Sort 介绍】

Q1. Bubble Sort 是什麽?

  • 一种排序方式,bubble sort 是透过两两相比,将正确顺序逐渐往後/往前放。每次跑完一次全部数字比对,就会有一个正确的顺序被固定下来,可能是最大、最小值。

  • 以由小到大的排序为例,逐渐将最大的往後排(如动画显示)
    bubble 先找最大
    (动画来源於 https://pjchender.blogspot.com/2017/09/bubble-sort.html )

  • 由小到大的排序为例,除了如上动画将最大逐渐往後排,他也可以从後往前,先将最小值逐渐往前排(如动画显示)

  • bubble 先找最小
    (动画来源於 https://www.itread01.com/content/1544409122.html )

  • bubble sort 动画:https://visualgo.net/zh/sorting

    • 课间小Q&A: 要从大到小排序,使用 bubble sort 概念可以套用吗?
      • ANS: 可以,一样透过两两相比,将最小值逐渐往後面放,或者是透过两两相比,将最大值逐渐往前放

Q2. 学会 Bubble Sort 概念可以做什麽 ?

  • 生活中时常会需要使用到排序好的资料,例如
    • 班级上分数从低到高排序
    • 线上扑克牌游戏,牌面由 A~K 排序
  • 常见排序方法有许多种,bubble sort 算是比较基础、直观的,还有选择排序、插入排序、快速排序等,每一种排序算法所需的时间都不同,详细可以参考:https://www.runoob.com/w3cnote/ten-sorting-algorithm.html
  • 接下来第8天,我们将介绍 Quick Sort

Lab. 明天要解的题目:912. Sort an Array

  • 题目连结:https://leetcode.com/problems/sort-an-array/

  • 题目叙述:

    • 会有一个 nums 变数,里面储存着要排序的内容,我们要将内容由小到大进行排序
      题目叙述
  • 会拿到 nums 的变数,须回传排序好的资料
    题目I/O

  • 题目的条件:

    • 可能会有 1~ 50000 个数字要进行排序
    • 每个数字会在 - 0.0005 ~ 50000 之间
      题目限制
  • 看完题目你需要思考的是:

    • 依照此题的 nums 长度,bubble sort 这个算法,会不会可能造成超时? 是不是有其他算法?

<<:  Day 6-单元测试 NUnit 更多常用的特性-1 (基础-5)

>>:  做人如果没梦想,跟咸鱼有什麽区别!

在 Kolla-Ansible 使用 Custom Config

在上篇文章介绍了 Kolla 跟 Kolla-Ansible 部署 OpenStack 的方法。在设...

[经典回顾]网路异常疑机房失火,老板:「不是有防火墙?」

资料来源: 为什麽没有「防火墙」? 火灾袭「是方电讯」!某天然呆老板:不是有防火墙吗? 内湖机房失...

.NET、托管代码(managed code)、反射

托管代码(managed code) 微软特定用语 简单来说 managed code 就是由一个 ...

分散式资料库:分散式策略

资料分片(Sharding) 选择适当的架构才能确保可用性及运行效能。 评量要素 均匀分布 组态设...