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


氣泡排序法(Bubble sort)程式實作(問題抽象化.問題抽象為數學問題(符號))

教學影片

第一輪(回合)排序:

(1)在左端的第1張紙牌上方放置紅色星星標記(回合數)為j. 在第5張紙牌上方放置藍色星星標記為i.

(2)紅色星星放在第一個位置(j=1).藍色星星放在第五個位置(i=5)

(2)從右至左依序查看i和i-1位置相鄰的的兩張紙牌並比較兩張牌的大小.如果紙牌i小於紙牌i-1.則交換兩者的位置.然後將藍色星星向左移動1步(i=i-1)

(3)重複上述操作直到藍色星星與紅色星星碰在一起(i=j).到此結束第一輪排序.紙牌1排好了

第二輪(回合)排序:

紅色星星向右移動1步(j=j+1)..然後依照前述的步驟進行比較及交換.直到藍色星星與紅色星星碰在一起..到此結束第二輪排序紙牌5點排好了


第三輪(回合)排序:

重複上述的排序步驟. 紙牌6點排好了


第四輪(回合)排序:

重複上述的排序步驟.紙牌7點排好了.5張紙牌整個氣泡排序過程結束已經按照從小到大的順序排列完畢

5個數共進行了4輪==>n個數(n-1)輪

5個數比較4+3+2+1=10次==>n個數比(n*(n-1)/2)次

資料引用:'康軒108課綱資訊科技八下第一章


氣泡排序法基礎實作

樂透未排序

原始程式下載

程式執行結果

氣泡排序法Scratch教學影片

(1)利用清單建立隨機值(字)資料.運用函式積木簡化程式

(2)外層迴圈(回合數).內層迴圈(比較次數)

(3)判斷是否交換(相鄰兩數)

(4)交換數函式及測試程式

資料引用大陸B站:https://www.bilibili.com/video/BV1aT4y1571n(由5:00開始看)

小學生的算法課冒泡排序

http://10.231.114.1/luti/109-2-an/bubble.mp4

參考程式積木

測試程式

修改清單長度及數字範圍

氣泡排序法進階實作

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


作業上傳

存成108****bubble.sb3