精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

久久网站免费视频| 91亚洲国产成人精品性色| 鲁大师私人影院在线观看| 裤袜国产欧美精品一区| 久久你懂得1024| 国产精品日韩在线一区| 小早川怜子一区二区的演员表| 日韩精品三级| 欧洲一区二区三区在线| 51xx午夜影福利| 四虎电影院在线观看| 日本成人在线电影网| 欧美激情手机在线视频| 欧美一区二区视频17c| 99久久伊人精品影院| 免费一级片视频| 亚洲成aⅴ人片久久青草影院| 在线观看av一区| 青春草国产视频| melody高清在线观看| 成人精品小蝌蚪| 国产精品视频最多的网站| 国产一卡二卡在线| 91一区二区| 精品亚洲夜色av98在线观看| 成人高清在线观看视频| 欧美激情护士| 一区二区三区日韩精品| 视频在线观看成人| 三区在线观看| 不卡av电影在线播放| 亚洲精品女av网站| 91国偷自产中文字幕久久| 亚洲伦伦在线| 色综合久久88色综合天天看泰| 美国美女黄色片| 亚洲美女久久| 亚洲精品久久久久久下一站| 中文字幕在线观看日| 极品美女一区| 欧美日韩激情视频| 亚洲 欧美 日韩 国产综合 在线| 自拍亚洲图区| 亚洲女人小视频在线观看| 亚洲精品一区二区三区樱花 | 日韩女同互慰一区二区| 一本色道久久亚洲综合精品蜜桃| 日韩欧美看国产| 日韩欧美中文字幕在线观看| 久久久久久久久久久99| 国产网红在线观看| 亚洲一区二区在线免费观看视频| 欧美做受777cos| 91精品久久久久久粉嫩| 自拍偷拍国产精品| 热这里只有精品| 国产美女福利在线| 亚洲人亚洲人成电影网站色| 国产精品99久久久久久大便| 精品麻豆一区二区三区| 亚洲少妇中出一区| 国产老头和老头xxxx×| 99热精品在线播放| 国内成人免费视频| 成人在线视频网站| 国产女人高潮毛片| 国产福利91精品一区| 97超碰在线播放| wwwav在线播放| 国产成人精品免费网站| 国产精品日韩二区| 日本免费不卡视频| 91女神在线视频| 日本精品一区二区三区视频| 第一页在线观看| 中文字幕亚洲欧美在线不卡| 亚洲欧洲一区二区福利| av片在线观看网站| 亚洲成人精品一区| 欧美日韩亚洲一二三| 黄色成人在线观看网站| 欧美日韩二区三区| 色综合久久久无码中文字幕波多| 国产成人精品亚洲线观看| 精品丝袜一区二区三区| 亚洲色图欧美色| 欧美另类综合| 日本精品一区二区三区在线播放视频| 一区二区自拍偷拍| 懂色av一区二区三区蜜臀| 免费成人在线观看av| 日韩在线免费电影| 亚洲成人av一区二区三区| 欧美牲交a欧美牲交aⅴ免费真 | 午夜久久久久久久久| 国产无套内射久久久国产| 国产美女久久| 欧美成人video| 五月天综合视频| 欧美精品aa| 国产精品igao视频| 丰满人妻熟女aⅴ一区| 久久久久久久久蜜桃| 免费国产成人看片在线| 麻豆蜜桃在线观看| 5566中文字幕一区二区电影| 国产夫妻性爱视频| 欧美视频福利| 国产精品一二三视频| 欧美自拍偷拍第一页| 中文字幕中文字幕在线一区| 国产极品在线视频| 久久99成人| 一区二区欧美久久| 国产无遮挡又黄又爽在线观看| 琪琪一区二区三区| 美女主播视频一区| 日本在线视频网址| 欧美美女黄视频| 亚洲国产天堂av| 在线观看视频免费一区二区三区| 国产区亚洲区欧美区| 巨骚激情综合| 欧美日韩加勒比精品一区| 性久久久久久久久久久久久久| 激情五月色综合国产精品| 午夜精品久久久久久久久久久久久| 国产又粗又大又爽视频| 久久精品免费在线观看| 免费在线观看亚洲视频 | 欧美凹凸一区二区三区视频| 先锋影音在线资源站91| 91精品国产综合久久小美女| 三区四区在线观看| 久久香蕉精品| 久久久久久久久久久久久久一区 | 国产精品国产三级国产专区53| 色影院视频在线| 在线一区二区三区四区| 日本黄色特级片| 国产日韩精品视频一区二区三区 | 激情欧美日韩| 99在线免费观看视频| 激情在线小视频| 欧美精品亚洲二区| 国产精品夜夜夜爽阿娇| 久久99精品国产麻豆婷婷洗澡| 日本中文不卡| 九九九伊在线综合永久| 伊人久久精品视频| 中文在线字幕av| 亚洲国产精品黑人久久久| 国产精品人人爽人人爽| 北条麻妃国产九九九精品小说| 日韩美女毛茸茸| 成人在线视频成人| 欧美亚洲国产bt| 99久久精品久久亚洲精品| 一色桃子av在线| 亚洲美女色禁图| 国产精品国产一区二区| 丰满大乳少妇在线观看网站| 亚洲第一色在线| 丰满少妇乱子伦精品看片| 99这里只有精品| av观看免费在线| 日韩成人激情| 97久久夜色精品国产九色| 福利写真视频网站在线| 精品一区电影国产| 伊人色综合久久久| 亚洲激情六月丁香| 91玉足脚交白嫩脚丫| 麻豆久久精品| 欧美少妇一级片| 精品av导航| 国产国语刺激对白av不卡| 蜜桃视频在线观看免费视频网站www| 欧美伦理视频网站| 久久久无码精品亚洲国产| 2020日本不卡一区二区视频| 91人人澡人人爽人人精品| 91不卡在线观看| 国产一区精品视频| 久久久成人av毛片免费观看| 久久国产精品网站| 天天插天天干天天操| 色婷婷综合五月| 欧美黑人性猛交xxx| 成人a免费在线看| 手机在线看福利| 国模 一区 二区 三区| 免费观看成人高| 色悠久久久久综合先锋影音下载| 国产91精品久| 91麻豆国产福利在线观看宅福利| 国产视频精品va久久久久久| 国产精品毛片一区二区在线看舒淇| 亚洲成av人**亚洲成av**| 超碰人人干人人| 成av人片一区二区| 奇米视频7777| 久久精品午夜| 91黄色在线看| 日韩在线中文| 欧美一区二区三区四区在线观看地址 | 日韩欧美精品网站| 日本aⅴ在线观看| 久久久久久麻豆| 精品伦一区二区三区| 蜜桃精品视频在线| 草草久久久无码国产专区| 亚洲第一天堂| 日韩欧美国产二区| 欧美交a欧美精品喷水| 91亚洲va在线va天堂va国| 四虎影视4hu4虎成人| 久久久噜噜噜久久中文字免| 免费av网站在线看| 亚洲欧洲高清在线| 深夜福利视频网站| 日韩欧美在线1卡| 一道本无吗一区| 色94色欧美sute亚洲线路一ni| 国产极品在线播放| 亚洲精品中文在线| 中文国语毛片高清视频| 中文在线一区二区| 51妺嘿嘿午夜福利| 久久在线观看免费| 中文字幕免费在线播放| 成人午夜精品一区二区三区| 日本特黄在线观看| 国内一区二区视频| 精品国产一区二区三区av性色| 精品国产乱码久久久久久1区二区| 日韩国产欧美三级| 91精品91久久久中77777老牛| 国内精品久久久久久久97牛牛 | 国产成人毛片| 国产精品国产三级国产aⅴ浪潮 | 91系列在线播放| 玖玖精品在线| 国产精品自在线| av在线一区不卡| 国产精品美乳一区二区免费| 精品成人av| 国产精品久久久精品| 日韩三区在线| 国产精品偷伦视频免费观看国产| 国产一区一一区高清不卡| 国产精品99久久99久久久二8| 巨茎人妖videos另类| 国产精品久久久久久久美男 | 亚洲羞羞网站| 欧美肥老妇视频| 久久免费电影| 97久久精品人人澡人人爽缅北| 人人澡人人添人人爽一区二区| 欧美大片在线看免费观看| 国产91足控脚交在线观看| 午夜剧场成人观在线视频免费观看| 538视频在线| 欧美亚洲日本网站| 成人国产一区| 91免费国产视频| 91精品国产自产在线丝袜啪 | 一区二区三区四区影院| 成人精品视频一区二区三区尤物| 漂亮人妻被黑人久久精品| 91色视频在线| 国产三级在线观看完整版| ...中文天堂在线一区| 欧美日韩精品亚洲精品| 精品高清一区二区三区| 色老头一区二区| 91精品国产综合久久精品图片| 国产91绿帽单男绿奴| 亚洲欧美国产日韩中文字幕| 素人av在线| 国产69精品久久久久9| 日韩免费电影| 91入口在线观看| 色先锋久久影院av| 一区二区三区四区五区精品| 激情综合在线| 久久久久久三级| 国产一区二区成人久久免费影院 | 99精品在线看| 日韩精品视频免费| 黄色网址视频在线观看| 性欧美亚洲xxxx乳在线观看| 成人国产精品入口免费视频| 国产精品制服诱惑| 久久婷婷蜜乳一本欲蜜臀| 日韩欧美精品免费| 老鸭窝一区二区久久精品| 国产人妻黑人一区二区三区| 亚洲国产精品成人综合 | 51妺嘿嘿午夜福利| 亚洲美女屁股眼交| 男人天堂av在线播放| 欧美一区二区三区公司| 黄色电影免费在线看| 欧美日本精品在线| a屁视频一区二区三区四区| 国产精品我不卡| 国产精品88久久久久久| 女性女同性aⅴ免费观女性恋| 精品亚洲国产成人av制服丝袜| 香港三级日本三级| 亚洲日本电影在线| 中文字幕观看视频| 精品五月天久久| 色图在线观看| 91色视频在线导航| 成人同人动漫免费观看| 久久国产亚洲精品无码| 国产不卡视频在线观看| 国产黄色录像片| 在线观看免费亚洲| 水莓100在线视频| 欧美精品www| 日韩欧美中文在线观看| 国产奶头好大揉着好爽视频| 免费在线成人网| 波多野结衣a v在线| 午夜激情综合网| 亚洲精品18在线观看| 久久精品小视频| 欧美aaa级| 亚洲成人午夜在线| 日韩电影免费一区| 亚洲a v网站| 黑人巨大精品欧美一区二区三区| 欧美熟妇另类久久久久久不卡| 美女性感视频久久久| 国产一区二区三区精品在线观看| 亚洲 日韩 国产第一区| 日韩电影一二三区| 国产主播av在线| 精品污污网站免费看| av在线之家电影网站| 国产精品69av| 日韩精品欧美| 国产成人黄色网址| 国产精品久久免费看| 一区二区国产欧美| 久久精品91久久香蕉加勒比| 日韩成人在线电影| 中国一级黄色录像| 国产精品一区二区果冻传媒| 在线免费观看亚洲视频| 欧美成人a∨高清免费观看| 丝袜在线观看| 精品久久久久久乱码天堂| 99热免费精品| 六月婷婷七月丁香| 欧美日韩精品三区| av软件在线观看| 国产在线欧美日韩| 玖玖国产精品视频| 亚洲不卡的av| 日韩一区二区免费在线电影| 精品日韩av| 免费看污久久久| 美女mm1313爽爽久久久蜜臀| 三级黄色录像视频| 欧美videos大乳护士334| h片精品在线观看| 区一区二区三区中文字幕| 久久精品免费看| 久久免费播放视频| 亚洲欧洲在线免费| 先锋影音一区二区| 日韩国产一级片| 香蕉视频亚洲一级| 日韩中文字幕久久| 亚洲一二三区视频| 欧美日韩二三区| 欧美高清在线精品一区| 国产suv一区二区| 8090成年在线看片午夜| 日韩精品一区二区久久| 中文字幕乱码在线人视频| 精品国产乱码久久久久久天美 | 国产成人一二片| 久久久精品三级| 一区二区三区在线视频观看| 欧美日韩影视| 91午夜理伦私人影院| 性色一区二区三区| 久久嫩草捆绑紧缚| 日韩电影中文字幕在线| 91麻豆精品一二三区在线| 99热在线这里只有精品| 亚洲日本护士毛茸茸| 国际av在线| 国产精品久久久久久久小唯西川| 日韩av电影天堂|