//返回顶部 返回顶部

算法——总结梳理

算法有哪些很重要呢,这篇又是一个归纳总结~

1 算法最基础的知识

1. 时间复杂度

2. 空间复杂度

要会计算,比如最大复杂度,平均复杂度。

2 各种常见的算法

2.1 十大排序算法

太常见了,经常会在笔试面试中考到

  • 简单排序:插入排序、选择排序、冒泡排序(必学)
  • 分而治之排序:快速排序、归并排序(必学,快排还要关注基准线的选择)
  • 分配排序:桶排序、基数排序
  • 树状排序:堆排序(必学)
  • 其他:计数排序(必学)、希尔排序

方法:书籍《算法(第四版)》、或者链接

2.2 图论算法

  • 图的表示:邻接矩阵和邻接表(没学过)
  • 遍历算法:深度优先搜索DFS和广度优先搜索BFS(必学)
  • 最短路径算法:Floyd、Dijkstra(没听过)
  • 最小生成树算法:Prim、Kruskal(没学过)
  • 实际常用算法:配对、匈牙利算法(原理与应用)
  • 拓展:中心性算法、社区发现算法(原理与应用)

还是看《算法(第四版)》

2.3 搜索与回溯算法

  • 贪心算法(必学)
  • 启发式搜索算法:A*寻路算法(了解)
  • 地图着色算法、N皇后问题、最优加工顺序
  • 旅行商问题

2.4 动态规划

  • 树形DP:01背包问题
  • 线形DP:最长公共子序列、最长公共子串
  • 区间DP:矩阵最大值(和以及积)
  • 数位DP:数字游戏
  • 状态压缩DP:旅行商

套路学法

2.5 字符匹配算法

  • 正则表达式
  • 模式匹配:KMP、Boyer-Moore

https://mp.weixin.qq.com/s/7IZTuLrPSuxvFRqsv5PiXQ

2.6 流相关算法

  • 等。。。
posted @ 2020-08-26 17:22  无名之辈W  阅读(190)  评论(0)    收藏  举报