資料結構與演算法 python語言描述學習(四)

2021-10-03 16:22:07 字數 1194 閱讀 5815

遞迴演算法的時間複雜度。

迴圈演算法也可以看出簡單的遞迴演算法,不用遞迴演算法也可以解決。

遞迴演算法如下的演算法模式:

例子1

data[

]while 還有資料:

x=下乙個資料

data.

insert(0

,x)#把新資料加入到表的最前面中。

或者

data[

]while 還有資料:

x=下乙個資料

data.

insert

(len

(date)

,x) #新資料加入到表的最後面,或者寫成data.

(x)

這兩種寫法的時間複雜度不同:

前一種時間複雜度為:o(n^2)後一種時間複雜度為:o(n)。

例子2表示乙個從0到10000*n-1的整數值。以下**都可以完成。

def test1

(n):

lst=

for i in range

(n*10000):

lst=lst+

[i]return lst

def test2

(n):

lst=

for i in range

(n*10000):

lst.

(i)return lst

def test3

(n):

return

[for i in range

(n*10000)]

def test4

(n):

return

lst(

range

(n*10000

))

python資料結構與演算法

coding utf 8 import sys 使用以下語句將引數的str格式轉換為int格式 l list map int sys.argv 1 split target int sys.argv 2 def binarysearch print l print target left 0 rig...

資料結構與演算法 python

元類 基礎 冒泡 它重複地走訪要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端,故名氣泡排序。def bubble sort alist ...

python演算法與資料結構

若n1 n2 n3 1000,且n1平方 n2平方 n3平方 n1,n2,n3為自然數 求出所有n1 n2 n3可能的組合?n1 0 n2 0 n3 0 判斷n1 n2 n3是否等於1000,之後變n3 1,n3 2,n3 3,然後再變n2 那如果變為 n1 n2 n3 2000 了呢?思路1 實現...