deffunc():
print("
我是誰"
) func()
func()
在python中,遞迴的深度最大到998
deffoo(n):
(n) n += 1foo(n)
foo(1)
遞迴的應用: 我們可以使用遞迴來遍歷各種樹形結構, 比如我們的資料夾系統. 可以使用遞迴來遍歷該資料夾中的所有檔案
遍歷 d:/作業 資料夾, 列印出所有的檔案和普通檔案的檔名import
osdef
func(filepath,n):
#1,開啟這個檔案
files=os.listdir(filepath)
#2,拿到每乙個檔名
for file in files: #
檔名#
3,獲取到路徑
f_d=os.path.join(filepath,file) #
d:/課程/檔名/
#4,判斷是否是資料夾
ifos.path.isdir(f_d):
#5,如果是資料夾,再來一遍
print('
\t'*n,file) #
列印檔案名
func(f_d,n+1)
else: #
如果不是資料夾
print('
\t'*n,file)
func(
'd:\課程
',0)
氣泡排序的思想: 每次比較兩個相鄰的元素, 如果他們的順序錯誤就把他們交換位置
import random
def bubble_sort(li):for i in range(len(li)-1): # i表示第n趟 一共n或者n-1趟
exchange = false
for j in range(len(li)-i-1): # 第i趟 無序區[0, n-i-1] j表示箭頭 0~n-i-2
if li[j] > li[j+1]:
li[j], li[j+1] = li[j+1], li[j]
exchange = true
if not exchange:
break
li = list(range(10000))
random.shuffle(li)
bubble_sort(li)
# 最好情況o(n) 平均情況o(n^2) 最壞情況o(n^2)
缺點: 氣泡排序解決了桶排序浪費空間的問題, 但是氣泡排序的效率特別低
氣泡排序,,,,遞迴
第一種 這種方法氣泡排序 比較相鄰的兩個元素,如果前乙個比後乙個大,則交換位置。第一輪把最大的元素放到了最後面。由於每次排序最後乙個都是最大的,所以之後按照步驟1排序最後乙個元素不用比 function arr sort data arr sort arr 第二種方法時對氣泡排序的改進 宣告乙個變數...
氣泡排序 遞迴
一 氣泡排序 1思想 氣泡排序思想 每一次對比相鄰兩個資料的大小,小的排在前面,如果前面的資料比後面的大就交換這兩個數的位置 要實現上述規則需要用到兩層for迴圈,外層從第乙個數到倒數第二個數,內層從外層的後面乙個數到最後乙個數 2特點 排序演算法的基礎。簡單實用易於理解,缺點是比較次數多,效率較低...
氣泡排序及遞迴
氣泡排序 li 11,2,3,22 print len li for j in range 1,len li for i in range len li j 由於函式中存在li i 1 那麼要保證li i 1 不越界。此時就需要在迴圈範圍進行限制。從而得出i和j 的最大值。由於最後一次大小比較發生在...