斐波那契 氣泡排序 二分查詢 選擇排序

2021-10-12 06:55:49 字數 1056 閱讀 5734

數列,又稱**分割數列、因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為「兔子數列」,

指的是這樣乙個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以遞迴的方法定義。

lis = 

for i in range(8):

if i == 0 or i == 1: # 第1,2項 都為1

else:

print(lis)

def buttle_sort(li):

for i in range(len(li)-1):# x 就是 1 到 傳過來的這個引數的長度總值

for j in range(len(li)-i-1): # i 就是 傳過來的列表長度 - 去 x

if li[j] > li[j+1]:: # 如果下標i 小於i+1

li[j],li[j+1] = li[j+1],li[j] # 那麼 下標i 與 下標 i+1 互換位置

li = [3,6,4,8,5,3]

buttle_sort(li)

print(li)

def func(alist, item):

low = 0

high = len(alist)-1

n = 0

while low <= high:

mid = int((low + high)/2)

n += 1

if alist[mid]==item:

return mid

if alist[mid] min_num: # 如果下標i的引數大於min_num >號是降序 < 是公升序

alist[i], min_num = min_num, alist[i] # 互換位置(引數)

alist[x] = min_num

return alist # 返回排序過的列表

print(func([1,4,2,3,6,7,8,9,0,5])) # 向func函式傳遞引數

二分查詢與斐波那契查詢

方法一 軸點取中點,逐步遞迴。演算法時間複雜度o log n 主要思路如下圖 不會執行 pre 對於該演算法,我們可以計算出迭代到底部所耗費的時間,計算結果如下圖所示。從圖中可以看出左邊遞迴和右邊遞迴所耗費的步數是不一樣的,那我我們是否可以找到一種演算法讓左邊迭代步數和右邊一致能,這樣能夠減少平均迭...

二分查詢,改進 斐波那契查詢

二分查詢 平均查詢長度o 1.5logn 實現 二分查詢演算法 版本a 在有序向量的區間 lo,hi 內查詢元素e,0 lo hi size typdef int rank template typename t static rank binsearch t s,t const e,rank lo...

時間複雜度講解 斐波那契,二分查詢,氣泡排序分析

演算法效率分析分為兩種 第一種是時間效率,第二種是空間效率。時間效率被稱為時間複雜度,而空間效率被稱作空間複雜度。時間複雜度主要衡量的是乙個演算法的執行速度,而空間複雜度主要衡量乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小。所以對空間複雜度很是在乎。但是經過計算機行業的迅速發...