精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python 中15個遞歸函數(shù)經(jīng)典案例解析

開發(fā)
在本文中,我們將探索15個遞歸函數(shù)的經(jīng)典案例,從基礎(chǔ)到進階,幫助你理解和掌握遞歸編程。

遞歸是Python編程中一個強大的工具,它允許函數(shù)調(diào)用自身以解決復(fù)雜問題。在本文中,我們將探索15個遞歸函數(shù)的經(jīng)典案例,從基礎(chǔ)到進階,幫助你理解和掌握遞歸編程。

1. 階乘計算

階乘是一個常見的遞歸應(yīng)用,定義為n! = n * (n-1) * ... * 1。

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))  # 輸出: 120

2. 斐波那契數(shù)列

斐波那契數(shù)列的每一項都是前兩項的和。

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)

print(fibonacci(10))  # 輸出: 55

3. 漢諾塔問題

漢諾塔是一個經(jīng)典的遞歸問題,涉及將多個盤子從一個柱子移動到另一個柱子。

def hanoi(n, source, target, auxiliary):
    if n > 0:
        hanoi(n - 1, source, auxiliary, target)
        print(f"Move disk {n} from {source} to {target}")
        hanoi(n - 1, auxiliary, target, source)

hanoi(3, 'A', 'C', 'B')

4. 冪運算

計算a的n次方。

def power(a, n):
    if n == 0:
        return 1
    elif n % 2 == 0:
        return power(a * a, n // 2)
    else:
        return a * power(a, n - 1)

print(power(2, 10))  # 輸出: 1024

5. 數(shù)組求和

遞歸地計算數(shù)組元素的總和。

def array_sum(arr):
    if not arr:
        return 0
    else:
        return arr[0] + array_sum(arr[1:])

print(array_sum([1, 2, 3, 4]))  # 輸出: 10

6. 字符串反轉(zhuǎn)

使用遞歸來反轉(zhuǎn)字符串。

def reverse_string(s):
    if len(s) <= 1:
        return s
    else:
        return reverse_string(s[1:]) + s[0]

print(reverse_string("hello"))  # 輸出: "olleh"

7. 找出數(shù)組中的最大值

遞歸地找出數(shù)組中的最大值。

def find_max(arr):
    if len(arr) == 1:
        return arr[0]
    else:
        sub_max = find_max(arr[1:])
        return arr[0] if arr[0] > sub_max else sub_max

print(find_max([3, 1, 4, 1, 5, 9]))  # 輸出: 9

8. 二叉樹遍歷

遞歸地遍歷二叉樹。

class Node:
    def __init__(self, val, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

def inorder_traversal(node):
    if node is not None:
        inorder_traversal(node.left)
        print(node.val, end=" ")
        inorder_traversal(node.right)

root = Node(1, Node(2), Node(3))
inorder_traversal(root)  # 輸出: 2 1 3

9. 平衡括號檢查

檢查字符串中的括號是否平衡。

def balanced_parentheses(s):
    if not s:
        return True
    if s[0] == '(' and s[-1] == ')':
        return balanced_parentheses(s[1:-1])
    else:
        return False

print(balanced_parentheses("(())"))  # 輸出: True

10. 帕斯卡三角形

生成帕斯卡三角形。

def pascals_triangle(n):
    if n == 1:
        return [1]
    else:
        row = [1]
        prev_row = pascals_triangle(n - 1)
        for i in range(len(prev_row) - 1):
            row.append(prev_row[i] + prev_row[i + 1])
        row.append(1)
        return row

for i in range(1, 6):
    print(pascals_triangle(i))

11. 迷宮路徑

尋找迷宮的解決方案。

def maze_path(x, y, m, n):
    if x == m or y == n:
        return []
    elif x == m - 1 and y == n - 1:
        return [(x, y)]
    else:
        paths1 = maze_path(x + 1, y, m, n)
        paths2 = maze_path(x, y + 1, m, n)
        for path in paths1 + paths2:
            path.insert(0, (x, y))
        return paths1 + paths2

m, n = 3, 3
paths = maze_path(0, 0, m, n)
for path in paths:
    print(path)

12. 字符串排列

生成字符串的所有可能排列。

def string_permutations(s):
    if len(s) == 1:
        return [s]
    else:
        permutations = []
        for i in range(len(s)):
            char = s[i]
            remaining_chars = s[:i] + s[i+1:]
            for permutation in string_permutations(remaining_chars):
                permutations.append(char + permutation)
        return permutations

print(string_permutations('abc'))

13. 八皇后問題

解決八皇后問題。

def solve_n_queens(n):
    solutions = []
    def place_queen(row, cols):
        if row == n:
            solutions.append(cols)
            return
        for col in range(n):
            if all(abs(c - col) not in (0, row - i) for i, c in enumerate(cols[:row])):
                place_queen(row + 1, cols + [col])
    place_queen(0, [])
    return solutions

for solution in solve_n_queens(8):
    print(solution)

14. 斗地主發(fā)牌

模擬斗地主游戲發(fā)牌過程。

import random

def deal_cards():
    cards = ['3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A', '2'] * 4 + ['小王', '大王']
    random.shuffle(cards)
    hands = {'player1': [], 'player2': [], 'player3': []}
    for i in range(17):
        for player in hands:
            hands[player].append(cards.pop())
    return hands

print(deal_cards())

15. 字符串匹配

檢查一個字符串是否包含另一個字符串。

def string_match(s, pattern):
    if not pattern:
        return True
    if not s:
        return False
    if s[0] == pattern[0]:
        return string_match(s[1:], pattern[1:])
    else:
        return string_match(s[1:], pattern)

print(string_match("hello", "he"))  # 輸出: True

實戰(zhàn)案例分析:漢諾塔問題

漢諾塔問題是一個典型的遞歸案例,涉及到將多個圓盤從一個柱子移動到另一個柱子上,但每次只能移動一個圓盤,且大盤不能放在小盤之上。

def hanoi(n, source, target, auxiliary):
    if n > 0:
        # 將n-1個圓盤從source移動到auxiliary
        hanoi(n - 1, source, auxiliary, target)
        # 移動最大的圓盤從source到target
        print(f"Move disk {n} from {source} to {target}")
        # 將n-1個圓盤從auxiliary移動到target
        hanoi(n - 1, auxiliary, target, source)

# 示例調(diào)用
hanoi(3, 'A', 'C', 'B')

這個例子展示了如何通過遞歸解決復(fù)雜問題,同時也體現(xiàn)了遞歸的分治策略。

使用技巧:

  • 在面對問題時,思考是否可以通過分解為子問題來解決,這是遞歸的一個良好起點。
  • 在設(shè)計遞歸函數(shù)時,始終定義清晰的基線情況和遞歸情況。

遞歸是編程中一個強大的概念,但使用得當(dāng)才能發(fā)揮其真正的潛力。希望這篇文章能幫助你更好地掌握和應(yīng)用遞歸技術(shù)!

責(zé)任編輯:趙寧寧 來源: 手把手PythonAI編程
相關(guān)推薦

2024-12-19 16:00:00

Pythonwhile 循環(huán)

2024-03-25 08:00:00

C++遞歸函數(shù)

2024-05-30 12:27:42

Python代碼

2009-09-03 09:16:35

C#遞歸函數(shù)

2009-10-29 10:20:19

ADO.NET使用

2012-06-25 17:00:44

2019-08-29 23:02:24

Python解析式表達(dá)列

2018-10-25 14:47:53

分析消費數(shù)據(jù)挖掘

2024-09-11 16:30:55

Python函數(shù)編程

2020-05-20 10:35:53

Python開發(fā)函數(shù)

2025-07-31 06:35:00

2015-03-11 10:00:47

響應(yīng)式網(wǎng)頁網(wǎng)頁設(shè)計設(shè)計建議

2023-04-09 23:09:59

Go語言函數(shù)

2021-07-01 09:43:44

Python函數(shù)參數(shù)

2009-09-18 09:35:36

C# CLR

2024-12-02 11:34:15

Python面向?qū)ο?/a>編程

2017-10-25 13:04:10

數(shù)據(jù)可視化信息可視化數(shù)據(jù)圖表

2023-07-03 17:15:12

系統(tǒng)架構(gòu)設(shè)計

2010-07-30 14:14:11

DB2快照函數(shù)

2010-09-06 16:36:20

DB2快照函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號

国产日韩在线播放| 在线播放欧美女士性生活| 国产精品久久久久久久久婷婷 | 青娱乐精品在线| 999久久久精品视频| av天在线观看| 国产成人在线视频网站| 91精品国产自产91精品| 长河落日免费高清观看| 91精品短视频| 欧美三区在线观看| 男女私大尺度视频| youjizz在线播放| 成人性生交大片免费看视频在线| 国产999视频| 成年人午夜剧场| 美女亚洲一区| 精品久久久三级丝袜| 人人爽人人av| av在线视屏| 亚洲天堂久久久久久久| 欧美日韩高清免费| 亚洲成人黄色片| 麻豆freexxxx性91精品| 性色av一区二区咪爱| 黄色录像免费观看| 精品国产欧美日韩| 亚洲激情视频在线播放| 久久久久久国产精品日本| 深夜视频一区二区| 欧美日韩国内自拍| 蜜臀av色欲a片无码精品一区| 欧美激情黑人| 国产三级精品在线| 欧美精品久久| 亚洲 美腿 欧美 偷拍| 国产激情偷乱视频一区二区三区| 国产精品狠色婷| 欧美精品二区三区| 亚洲精品字幕| 久久久久久久爱| 男人的天堂久久久| 天天做天天爱天天综合网| 在线观看国产精品91| 中文字幕日韩免费视频| 国产美女主播在线| 在线播放免费av| 亚洲天堂免费在线观看视频| 亚洲高清乱码| 成人在线免费观看| 久久久精品天堂| 欧美国产一二三区| 日本私人网站在线观看| 99天天综合性| 国产伦精品一区二区三区免| 亚洲国产精品欧美久久| 国产激情偷乱视频一区二区三区 | 麻豆精品国产| 91麻豆精品久久久久蜜臀 | 午夜影院在线看| 一区在线免费观看| 久久人人爽人人爽人人片av高清| 久草网在线观看| 国产综合自拍| 国内伊人久久久久久网站视频 | 91狠狠综合久久久久久| 日本一区二区高清不卡| 最近2019年日本中文免费字幕 | 一本一道久久综合狠狠老| 色阁综合伊人av| 青花影视在线观看免费高清| 一区二区三区国产精华| 色综合色综合久久综合频道88| 久久久久久久久99| 野花国产精品入口| 日本精品免费观看| 中文字幕一区二区在线视频| 激情综合色播五月| 国产98在线|日韩| 午夜成人鲁丝片午夜精品| 91色.com| 一区二区视频在线免费| 成人在线免费看片| 亚洲香肠在线观看| 午夜电影久久久| 欧美精品欧美精品系列c| 二区三区在线| 亚洲人吸女人奶水| 国产美女主播在线播放| 亚洲第一影院| 日韩一级在线观看| 国产中文字幕一区二区| 欧美wwwww| 欧美激情女人20p| 黄色片中文字幕| 极品少妇一区二区| 国产在线一区二区三区四区 | 国产成人免费视频网站视频社区| 精品国产欧美一区二区| 91精品人妻一区二区| 9999国产精品| 91av在线影院| 国产女人18毛片水18精| 91啪亚洲精品| 佐佐木明希av| av在线日韩| 精品美女被调教视频大全网站| 人妻少妇无码精品视频区| 亚洲最新色图| 国产精品海角社区在线观看| 成人午夜福利视频| 中文字幕国产一区| 蜜臀av色欲a片无码精品一区 | 夜夜精品视频| 91在线免费观看网站| 男人天堂资源在线| 欧美日韩伦理一区二区| 奇米影视一区二区三区小说| 999热视频| 浮生影视网在线观看免费| 一区av在线播放| 五月天av在线播放| 亚洲最大在线| 国语自产偷拍精品视频偷| 国产精品无码久久久久成人app| 91网址在线看| 欧美高清中文字幕| 9999在线精品视频| 在线播放精品一区二区三区| 91浏览器在线观看| 成人黄页毛片网站| 嫩草影院中文字幕| 欧美xxxx性| 国产一区二区美女视频| 91在线中文字幕| 国产原创视频在线| 成人一级片在线观看| 一级全黄肉体裸体全过程| 欧美美女日韩| 亚洲人成77777在线观看网| 日韩欧美亚洲一区二区三区| 丁香激情综合国产| 女人被男人躁得好爽免费视频 | 96国产粉嫩美女| 香蕉视频在线播放| 欧美在线看片a免费观看| 日本少妇色视频| 99精品免费网| 久久精品国产美女| 欧美13videosex性极品| 亚洲第一级黄色片| 日本三级视频在线| 波多野洁衣一区| 欧美成人高潮一二区在线看| 国产另类在线| 91精品成人久久| 四虎影视在线观看2413| 欧美午夜精品久久久久久人妖 | 中文字幕一区二区三区在线观看| 中文字幕在线观看第三页| 成人精品亚洲| 91精品国产综合久久久久久蜜臀 | 亚洲欧美偷拍卡通变态| 91网址在线观看精品| 欧美在线免费一级片| 97久久夜色精品国产九色| 国产网红女主播精品视频| 亚洲成人网在线| 日本在线播放视频| 欧美高清在线一区二区| 在线观看亚洲色图| 女人香蕉久久**毛片精品| 成人欧美一区二区三区视频| av今日在线| 亚洲天堂久久av| 91国偷自产中文字幕久久| 一区二区三区中文在线| 7788色淫网站小说| 久久久精品午夜少妇| 亚洲精品日韩精品| 一区二区亚洲视频| 欧美在线视频播放| 婷婷五月在线视频| 精品久久久久久久久久久久久久久 | 亚洲在线免费| 日韩欧美一区二区三区四区五区| 3d动漫一区二区三区在线观看| 色综合久久久888| 三级av在线| 欧美久久高跟鞋激| 日本学生初尝黑人巨免费视频| 国产午夜精品一区二区三区视频| 国内自拍第二页| 国产日韩专区| 中文字幕超清在线免费观看| 另类在线视频| 91久久精品国产91性色| 天堂中文在线播放| 久久久av一区| 蝌蚪视频在线播放| 精品欧美乱码久久久久久 | 视频在线观看国产精品| 色乱码一区二区三区熟女| 欧美激情网址| 91免费高清视频| 成人在线直播| 尤物九九久久国产精品的分类| 不卡的日韩av| 精品视频在线看| 天天插天天操天天干| 自拍偷在线精品自拍偷无码专区| 精品久久久久久中文字幕人妻最新| 老司机精品视频导航| 青青草原成人网| 午夜精品免费| 亚洲综合欧美日韩| 精品一区三区| 国内一区二区在线视频观看| 国产精品视频首页| 国产精品精品视频| 三级在线看中文字幕完整版| 欧美日韩国产成人| 888av在线| 亚洲丝袜av一区| 日韩精品123| 亚洲国产另类 国产精品国产免费| 国产视频aaa| 欧美日韩一级大片网址| 秋霞av一区二区三区| 亚洲成人免费视| 天天天天天天天天操| 国产精品麻豆欧美日韩ww| 成年人网站免费看| www.欧美亚洲| 熟女人妻一区二区三区免费看| 精品亚洲aⅴ乱码一区二区三区| 99视频精品免费| 久久国产精品99国产| 免费无码不卡视频在线观看| 国产一区亚洲| 成人高清av在线| 成人免费观看在线| 欧美精品日本| 91嫩草国产丨精品入口麻豆| 久久久久久美女精品| 一本色道久久99精品综合| 欧美gvvideo网站| 亚洲精品乱码视频| 97在线精品| 亚洲成人动漫在线| 欧美日本在线| 国产婷婷一区二区三区| 国产日韩欧美一区二区三区在线观看| 欧美日韩精品在线一区二区| 亚洲永久在线| 欧美私人情侣网站| 日韩成人精品在线观看| 午夜免费看视频| 国产综合一区二区| 男男受被啪到高潮自述| 风流少妇一区二区| 插我舔内射18免费视频| 91欧美一区二区| 熟女少妇内射日韩亚洲| 国产精品美女久久久久久2018| 激情高潮到大叫狂喷水| 亚洲精品写真福利| 日本亚洲欧美在线| 色婷婷激情久久| 一级黄色片视频| 欧美一级二级三级蜜桃| 无码国产精品96久久久久| 亚洲色图五月天| 亚洲欧美视频一区二区| 欧美成人小视频| 色资源二区在线视频| 国产精品丝袜白浆摸在线| 欧美久久亚洲| 久久精品aaaaaa毛片| 成人在线丰满少妇av| 男人草女人视频| 亚洲一区二区三区高清| 亚洲36d大奶网| 成人午夜碰碰视频| 亚洲一区二区自偷自拍 | 欧美aaa大片视频一二区| 成人国产精品日本在线| 福利在线一区| 视频一区二区在线观看| 欧美精品激情| 天堂中文视频在线| 成人天堂资源www在线| 成年人在线免费看片| 亚洲一本大道在线| 中国女人一级一次看片| 精品国产凹凸成av人网站| www.视频在线.com| 欧美精品久久久久久久| 成人在线不卡| 精品欧美一区二区三区久久久| 超碰成人久久| 18禁网站免费无遮挡无码中文| 里番在线播放| 一区二区久久久久久| 久久精品国产亚洲av香蕉| 欧美在线高清视频| 五月婷婷六月丁香| 欧美床上激情在线观看| 免费高清视频在线一区| 粉嫩av免费一区二区三区| 欧州一区二区| 免费看一级大黄情大片| 国产成人免费在线视频| 成人无码精品1区2区3区免费看| 精品福利免费观看| 精品人妻久久久久一区二区三区| 国产亚洲aⅴaaaaaa毛片| 国产亚av手机在线观看| 91色琪琪电影亚洲精品久久| 精品成av人一区二区三区| 国产综合中文字幕| 国产剧情一区在线| 欧美熟妇激情一区二区三区| 天天综合色天天综合| www.成人免费视频| 久久久国产精品一区| 欧美日韩在线精品一区二区三区激情综合 | 99精品在免费线中文字幕网站一区| 亚洲高清视频一区| 日韩精品每日更新| 三上悠亚ssⅰn939无码播放| 亚洲成人av一区| 国模私拍视频在线| 欧美成人精品激情在线观看| 日韩毛片免费视频一级特黄| 亚洲v欧美v另类v综合v日韩v| 美女精品在线| 欧美狂猛xxxxx乱大交3| 欧美日韩在线视频观看| 婷婷五月综合久久中文字幕| 欧美激情视频在线免费观看 欧美视频免费一| 国产极品一区| 在线观看国产一区| 老司机一区二区| 狂野欧美性猛交| 欧美日本在线观看| 自拍视频在线| 国产精品视频精品| 欧美电影免费观看高清| 自拍偷拍一区二区三区四区| 国产精品久久久久久福利一牛影视| 亚洲av综合一区| 最新国产精品亚洲| 中文成人激情娱乐网| 无码人妻aⅴ一区二区三区日本| 狠狠色伊人亚洲综合成人| 黄视频网站免费看| 日韩一区二区三| 黄网站在线观| 精品国产乱码久久久久久久软件 | 91精品国产色综合久久不卡98口| 女仆av观看一区| 日韩免费高清在线| 国产精品丝袜黑色高跟| 国产精品久久久久久无人区| 另类天堂视频在线观看| 天堂va欧美ⅴa亚洲va一国产| 亚洲综合中文字幕68页| 精品91久久久| 91精品一区二区三区久久久久久| 麻豆视频在线观看免费| 亚洲综合日韩中文字幕v在线| 欧美色图麻豆| jizz日本免费| 欧美特级限制片免费在线观看| 久热国产在线| 国产视色精品亚洲一区二区| 老司机午夜精品视频在线观看| 人与动物性xxxx| 亚洲第一区第二区| 蜜桃成人精品| 在线观看17c| 久久久久久免费毛片精品| 一区二区三区精彩视频| 国内精品久久久久久中文字幕| 国产日产精品一区二区三区四区的观看方式| www.com黄色片| 亚洲一二三四区不卡| 激情综合闲人网| 97神马电影| 日韩国产欧美在线播放| 欧美成人三级在线观看| 亚洲精品一区二区三区婷婷月| 日韩综合av| 无码人妻精品一区二区三区在线| 国产精品美女久久久久aⅴ| 少妇精品高潮欲妇又嫩中文字幕 | 国产极品尤物在线| 成人午夜激情视频| 亚洲香蕉在线视频|