什么是数据结构?什么是算法?

基本概念:

  • 数据结构:一组数据的存储结构
  • 算法:操作数据的一组方法

示例 - 图书馆:

  • 数据结构:图书管理员会将书籍分门别类,按照一定的规律存放。这就是书籍这种数据存储结构。
  • 算法:我们如何查找一本书?可以一本一本的找,也可以根据书籍的分类先定位到对应的书架,再依次查找。这些查找的方法都可以称为算法。


数据结构与算法的关联?

基本概念:
数据结构是为算法服务的,算法要作用在特定的数据结构之上

示例 - 数组:
数组具有随机访问的特点,二分查找算法需要使用数组的数据结构来存储数据。
若使用了链表的数据结构,二分查找算法就无法工作

常见的数据结构与算法

掌握如下20个数据结构与算法,就可以应付大部分的工作与面试。

10个常见的数据结构

  • 数组
  • 链表
  • 队列
  • 散列表
  • 二叉树
  • 跳表
  • Trie 树

    10个常见的算法

  • 递归

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

    数据结构与算法的重点

    复杂度分析是数据结构与算法中最重要的概念。

数据结构和算法解决的是如何更省、更快地的存储和处理数据的问题。因此我们需要一个考量效率和资源消耗的方法,这就是复杂度分析方法