开发中常见的算法汇总一览
我们知道计算机中各类应用程序随处可见的,而支撑这些应用程序运行的就是各类数据结构以及各类算法,这就是经典等式 程序=数据结构+算法 ,上一篇幅中我们列举了一些常用的数据结构,那么今天我们来捋一捋日常开发中常见的一些算法思想以及具体算法各自的特性及相关指标 文章目录 常见算法思想 穷举法(Brute Force) 核心思想 特性 适用问题或算法 分治法(Divide and Conquer) 核心思想 特性 适用问题或算法 贪心算法(Greedy) 核心思想 特性 适用问题或算法 动态规划法(Dynamic Programming) 核心思想 特性 适用问题或算法 回溯法(Backtracking) 核心思想 特性 适用问题或算法 分枝界限法(Branch and Bound) 关于递归(画外音) 贪心和动态规划(画外音) 常见的算法分类 排序算法 冒泡排序 插入排序 希尔排序 选择排序 归并排序 快速排序 堆排序 计数排序 桶排序 基数排序 排序算法总结 查找算法 顺序查找 二分查找 散列查找 二叉树查找 搜索算法 树的层次遍历 树的(前/中/后)序遍历 常见算法思想 我们首先介绍下几种常见的算法思想,日常中一些具体的解题算法的思想都依赖于它们,文中列举一些具体算法问题可以自行通过搜索引擎了解 穷举法(Brute Force) 核心思想 顾名思义就是列举出所有可能出现的情况