基本演算法介紹-氣泡排序法


排序(sort)演算法

對雜亂無章的原始資料 ( Raw Data ) 進行整理、做排序的動作,在整個資訊科學或者電腦程式設計上都是十分重要的一件工作

在資訊科學,排序演算法是一種能將一串資料依照特定排序方式進行排列的一種演算法。最常用到的排序方式是數值順序以及字典順序排序法,就是將一堆沒有排序過的數字由小到大(或大到小)排列好的演算法

資料引用:https://jason-chen-1992.weebly.com/home/-sorting-algorithm

已知的排序演算法超過幾十種,常見的排序演算法有:

參考資料


氣泡排序法(Bubble sort)

https://scratch.mit.edu/projects/15197205

思考問題:

觀察上述Scratch的動畫.回答下列問題

1.為何此排序法稱為Bubble Sort?

2.它是如何排序(演算法如何運作)?

老師講解:

氣泡排序法原理


它演算法的想法是,從頭開始進行排序的數列,然後每次比較數列中相鄰的兩個元素,如果他們大小順序錯誤的話就讓他們互換,如此重複到再也沒有需要交換,即代表排序完成。演算流程如下圖


你可以看到,其中比較大or比較小 ( 取決於你要從小排到大;還是從大排到小 ) 的元素會被慢慢換到數列的最前面或後面,這個過程就像水中的小泡泡慢慢浮上水面一樣,所以叫Bubble Sort。

資料引用:https://jason-chen-1992.weebly.com/home/-sorting-algorithm

進階學習

牛刀小試1-體驗氣泡排序法


變數交換

假設有甲乙兩個杯子.裡面分別裝啤酒及可樂.若要將兩個杯子內的啤酒與可樂交換.請問該如何做?

解說:

問題抽象化(將實際問題轉換成數學問題)

(1)錯誤的變數交換

(2)正確的變數交換

在程式設計中用一個「temp」變數,temp為temporary(暫存)這個字的縮寫,取前四個字母作為變數名稱

 

實作1-Scratch程式清單元素交換

程式執行要求

教學影片及參考積木

 

 

作業上傳

存成108****swap.sb3