基本演算法介紹-搜尋2
搜尋演算法應用 -資訊安全名畫神偷(Art Thief )遊戲
解說:
資料來源:Animations from Grokking Algorithms
搜尋方法的時間複雜度(花費時間)
資料引用:108課綱康軒第二章
範例
進階研究與實作
圖片引用:108課綱高中一年級高中資訊科技科友出版社
循序(線性)搜尋法Scratch程式實作
循序搜尋演算法
圖片引用:108課綱高中一年級高中資訊科技科友出版社
一.程式執行結果(搜尋1-100的數(可重複))
二.參考程式下載(不一定要和老師一樣.可以有自己的邏輯思維)
實作步驟:
1.建立data清單隨機產生10個(1-100)的數字
2.點貓咪開始搜尋.詢問使用者(輸入)要搜尋的數字範圍(1-100).呼叫執行循序搜尋函數
3.撰寫循序搜尋函數
(1)變數初始化
key(答案)
i位置(索引值)
found(找到與否的flag(旗標).1代表找到.0代表沒找到)
(2)重複清單長度次
(3)如果key(答案)=清單的第i位置(索引值)那麼
說出"找到了.在第i位置(索引值)位置"
found設為1
否則i位置(索引值)改變1.繼續尋找清單內的元素
(4)如果found為0那麼
說出"找不到你要的數字"
三.測試程式
1.輸入清單的第1項數字.貓咪要說"找到了,在第1個位置"
2.輸入清單的第10項數字.貓咪要說"找到了,在第10個位置"
3.輸入清單內沒有的數字.貓咪要說"找不到你要的數字"
進階研究
二分搜尋法
(1)Scratch程式實作
(2)Python程式實作(高中)