# 示例代码:快速排序算法(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 中文站