《数据结构与算法之美》学习笔记之开篇

4,489 阅读2分钟

本系列是极客时间中前 Google 工程师王争《数据结构与算法之美》专栏的学习笔记,想加强数据结构及算法能力的同学可以直接购买此专栏,跳转链接在此

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

从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。

数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。

数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法、孤立存在的数据结构就是没用的

数据结构和算法知识点汇总

以下是王争概括的数据结构和算法知识点汇总

常用及基础数据结构与算法

数据结构

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

算法

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

书单推荐

入门

  • 《大话数据结构》本书最大特点理论讲的有趣不枯燥
  • 《算法图解》本书最大特点主打图解,通俗易懂

面试

  • 《剑指 offer》本书几乎包含了所有常见的、经典的面试题
  • 《编程珠玑》讲了很多针对海量数据的处理技巧
  • 《编程之美》本书作者绝大多数为微软的工程师,所以里面算法题目稍微偏难,面试 Google,Facebook 这样的公司可以使用此书

针对特定编程语言的教科书

  • 《数据结构与算法分析:C++ 描述》
  • 《数据结构与算法分析:C 语言描述》
  • 《数据结构与算法分析:Java 语言描述》

经典之做

  • 《算法导论》里面充斥这各种算法的正确性、复杂度的证明、推导,数学公式比较大,看起来比较吃力
  • 《算法》内容比较友好,更适合初学者入门。但是内容不够全面,比较动态规划这么重要的知识点,本书并没有讲。

殿堂级经典

  • 《计算机程序设计艺术》这套书的深度、广度、系统性、全面性是其他所有数据结构和算法书籍都无法相比的。

代码

声明

本文更多是本人学习笔记之用,更多详细的讲解级代码查看极客时间专栏《数据结构与算法之美》