數列,又稱**分割數列、因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為「兔子數列」,
指的是這樣乙個數列: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...
時間複雜度講解 斐波那契,二分查詢,氣泡排序分析
演算法效率分析分為兩種 第一種是時間效率,第二種是空間效率。時間效率被稱為時間複雜度,而空間效率被稱作空間複雜度。時間複雜度主要衡量的是乙個演算法的執行速度,而空間複雜度主要衡量乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小。所以對空間複雜度很是在乎。但是經過計算機行業的迅速發...