Share - 数据结构和算法开篇

主要重点

常用的数据结构和算法各有10个,只要逐一攻克,就掌握大部分情况了。

10个数据结构:

数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie数

10个算法:

递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法

以上是基础,掌握后再解其他复杂的就会很快。

学习时候注重思考四点:

  • 来历
  • 自身特点
  • 适合解决的问题
  • 实际应用场景

注意分析算法好坏的指标:

  • 空间复杂度 (用内存多寡)
  • 时间复杂度 (计算步骤和数据量的关系(线性、指数、对数、常量…))

参考 数据结构与算法之美-极客时间-王争