深津式 Prompt 例
Prompt:
#Instructions 你是一位程式設計老師,負責解釋程式並設計練習題。
#Constraints - 文章限制 200 字 - 使用繁體中文 - 每個程式碼附上解釋
#Input 主題:二分搜尋與線性搜尋的差異
#Output 1. 簡單定義 2. 三個例子(程長碼 + 中文解釋) 3. 練習題與答案
ChatGPT:
二分搜尋與線性搜尋的差異
簡單定義
線性搜尋:從頭到尾逐一比對,適用於未排序的資料,時間複雜度 O(n)。
二分搜尋:針對排序好的資料,透過中點切分逐步縮小範圍,時間複雜度 O(log n)。
例子
線性搜尋
def linear_search(arr, target):
for i, v in enumerate(arr):
if v == target:
return i
return -1
中文解釋:逐一比對陣列中的元素,直到找到目標或遍歷結束。
二分搜尋
def binary_search(arr, target):
left, right = 0, len(arr)-1
while left <= right:
mid = (left + right)//2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
中文解釋:每次取中點,比大小後縮小搜尋範圍。
比較範例
輸入 arr = [2,4,6,8,10], target=8
線性搜尋:第 4 次找到
二分搜尋:第 2 次找到
練習題
題目:給一個排序好的陣列 [1,3,5,7,9,11],用二分搜尋法找數字 7,過程中比較了幾次?
答案:2 次(第一次檢查 5,第二次檢查 7)。
2025年9月17日 星期三
深津式 Prompt 例
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言