算法

20200306


  • 渐近时间复杂度的大O标记
 - 常量时间复杂度 - 布隆过滤器 / 哈希存储
 - 对数时间复杂度 - 折半查找(二分查找)
 - 线性时间复杂度 - 顺序查找 / 桶排序
 - 对数线性时间复杂度 - 高级排序算法(归并排序、快速排序)
 - 平方时间复杂度 - 简单排序算法(选择排序、插入排序、冒泡排序)
 - 立方时间复杂度 - Floyd算法 / 矩阵乘法运算
 - 几何级数时间复杂度 - 汉诺塔
 - 阶乘时间复杂度 - 旅行经销商问题 - NP
  • 常用算法
穷举法 - 又称为暴力破解法,对所有的可能性进行验证,直到找到正确答案。
贪婪法 - 在对问题求解时,总是做出在当前看来最好的选择,不追求最优解,快速找到满意解。
分治法 - 把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题,直到可以直接求解的程度,最后将子问题的解进行合并得到原问题解。
回溯法 - 回溯法又称为试探法,按选优条件向前搜索,当搜索到某一步发现原先选择并不优或达不到目标时,就退回一步重新选择。
动态规划 - 基本思想也是将待求解问题分解成若干个子问题,先求解并保存这些子问题的解,避免产生大量的重复运算。
posted on 2020-03-06 15:15  呼呼小睡  阅读(113)  评论(0编辑  收藏  举报