📜  算法分类示例(1)

📅  最后修改于: 2023-12-03 14:56:43.662000             🧑  作者: Mango

算法分类示例

在计算机科学中,算法是指为解决一类问题而采取的一系列有序的步骤。

常见的算法分类
排序算法

排序算法可以将一组无序的数据按照一定的规则进行排序,常见的排序算法包括:

  • 冒泡排序
  • 插入排序
  • 选择排序
  • 快速排序
  • 归并排序
  • 堆排序

其中,冒泡排序的实现代码片段如下:

def bubble_sort(arr):
    n = len(arr)
    for i in range(n-1):
        for j in range(n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr
查找算法

查找算法是指在一堆数据中查找指定的数据,常见的查找算法包括:

  • 线性查找
  • 二分查找

其中,二分查找的实现代码片段如下:

def binary_search(arr, x):
    left, right = 0, len(arr)-1
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == x:
            return mid
        elif arr[mid] < x:
            left = mid + 1
        else:
            right = mid - 1
    return -1
图算法

图算法是指处理图结构的算法,常见的图算法包括:

  • 深度优先搜索
  • 广度优先搜索
  • 最短路径算法

其中,深度优先搜索的实现代码片段如下:

def dfs(graph, start):
    visited = set()
    stack = [start]

    while stack:
        v = stack.pop()
        if v not in visited:
            visited.add(v)
            stack.extend(graph[v] - visited)
    return visited
总结

以上是常见的算法分类及其示例,掌握这些算法可以帮助程序员解决一些常见的问题,在程序开发中得心应手。