遞迴來實現二分法查詢 氣泡排序

2022-08-29 04:15:10 字數 691 閱讀 5631

氣泡排序:

原理就是,一組資料中的第乙個和第二個比較,如果第乙個數大於第二個就互相換位置,一次類推,直到這組資料排出了順序。

二分法:

首先要求為有序的數列,掐頭去尾取中間,一次砍掉一半

lst = [22, 33, 44, 55, 66, 77, 88, 99, 101 , 238 , 345 , 456 , 567 , 678 , 789]

deffunc(n,left,right):

mid = (left+right)//2

if left <=right:

if n >lst[mid]:

left = mid + 1

return

func(n,left,right)

if n right = mid - 1

return

func(n,left,right)

if n ==lst[mid]:

print("

找到了"

)

return

mid

else

:

print("

沒找到"

)

return -1ret = func(99,0,len(lst)-1)

print(ret)

氣泡排序,二分法查詢

lst 18,8,16,2,5,7 通過交換的方式.把列表中最大的值一定到最右端 for abc in range len lst 控制內部移動的次數 n 0 while n len lst 1 if lst n lst n 1 lst n lst n 1 lst n 1 lst n n n 1 p...

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

氣泡排序 二分法

核心 掐頭去尾取中間.一次砍一半 二分查詢.每次能夠排除掉一半的資料.查詢的效率非常高.但是侷限性比較大.必須是有 序序列才可以使用二分查詢 兩種演算法 常規迴圈,遞迴迴圈 使用二分法可以提高效率,前提條件 有序序列 lst 22,33,44,55,66,77,88,99,101 238 345 4...