# 示例代码:快速排序算法(Quick Sort)
def quick_sort(arr):
    # 如果数组长度小于等于1,直接返回数组(递归终止条件)
    if len(arr) <= 1:
        return arr
    else:
        # 选择基准元素
        pivot = arr[len(arr) // 2]
        # 分别存放比基准小、相等和大的元素
        left = [x for x in arr if x < pivot]
        middle = [x for x in arr if x == pivot]
        right = [x for x in arr if x > pivot]
        # 递归调用快速排序,并将结果合并
        return quick_sort(left) + middle + quick_sort(right)
# 示例代码:二分查找算法(Binary Search)
def binary_search(arr, target):
    # 初始化左右指针
    left, right = 0, len(arr) - 1
    while left <= right:
        mid = (left + right) // 2
        # 检查中间元素是否为目标值
        if arr[mid] == target:
            return mid
        # 如果目标值较大,则在右半部分继续查找
        elif arr[mid] < target:
            left = mid + 1
        # 如果目标值较小,则在左半部分继续查找
        else:
            right = mid - 1
    # 如果未找到目标值,返回-1
    return -1
# 示例代码:深度优先搜索(DFS)
def dfs(graph, start, visited=None):
    if visited is None:
        visited = set()
    # 标记当前节点为已访问
    visited.add(start)
    print(start)
    # 遍历相邻节点
    for next_node in graph[start] - visited:
        dfs(graph, next_node, visited)
    return visited
# 示例代码:广度优先搜索(BFS)
from collections import deque
def bfs(graph, start):
    visited = set([start])
    queue = deque([start])
    while queue:
        node = queue.popleft()
        print(node)
        for neighbor in graph[node]:
            if neighbor not in visited:
                visited.add(neighbor)
                queue.append(neighbor)
# 示例代码:动态规划求解斐波那契数列
def fibonacci(n, memo={}):
    # 检查是否已经计算过该值
    if n in memo:
        return memo[n]
    # 基本情况
    if n <= 2:
        return 1
    # 递归计算并存储结果
    memo[n] = fibonacci(n-1, memo) + fibonacci(n-2, memo)
    return memo[n]
# 示例代码:冒泡排序(Bubble Sort)
def bubble_sort(arr):
    n = len(arr)
    # 外层循环控制遍历次数
    for i in range(n):
        # 内层循环进行相邻元素比较和交换
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr快速排序(Quick Sort):
二分查找(Binary Search):
深度优先搜索(DFS):
广度优先搜索(BFS):
动态规划求解斐波那契数列:
memo 来存储已经计算过的斐波那契数,以减少重复计算。冒泡排序(Bubble Sort):
上一篇:python list 查找
下一篇:python的循环语句
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站