美文网首页
真香,阿里巴巴首发“数据结构和算法”笔记,看完我惊呆了

真香,阿里巴巴首发“数据结构和算法”笔记,看完我惊呆了

作者: 小迁不秃头 | 来源:发表于2020-08-24 22:06 被阅读0次

    写在前面

    算法和数据结构是计算机科学的核心内容。作为程序员,编程是我们的实战项目。然而,写出程序还不够。一个程序在应对一些大型而复杂的情况时,会耗费大量的时间。我们可以很容易写出一个从文件中找到一个词的程序,比如逐词扫描,看是否相符。但如果我们的文件有几十TB,而且要从文件中找到上百个词,逐个扫描的办法就几乎不可行。我们需要优化程序,以便我们的程序可以应对复杂问题。算法研究解决问题的方法,而数据结构则是设计一种更好的组织数据和使用数据的方式。两者有很强的相互依赖关系,所以往往放在一起讨论。

    数据结构和算法

    对标阿里P8的数据结构与算法的思维导图:

    主要内容展示

    第1章综述

    一个各主题的总体印象并介绍少量后面要用到的术语。对于那些对面向对象编程不太熟悉的读者,本章总结了一些相关的知识。

    第2章数组

    集中讨论数组。这里面包含有两层意思:如何使用类来对数据存储结构进行封装和类的接口。其中包括数组和有序数组的查找、插入、删除、线性查找和二分查找。

    第3章简单排序

    介绍三种简单的(但是慢速的)排序方法:冒泡排序、选择排序和插入排序。

    第4章栈和队列

    涉及到三种可以被认为是抽象数据类型(ADT)的数据结构:栈、队和优先级队列。

    第5章链表

    介绍了链表中的双向链表和双端链表。本章还解释了Java中被称作“无痛指针”的使用,并用一个专题applet演示了链表的插入、查找和删除是如何进行的。

    第6章递归

    这是书中仅有的非数据结构的几章之一。本章给出了大量的递归例子,包括汉诺塔问题和归并排序,它们都有相应的专题applet。

    第7章高级排序

    研究了几种高级的排序方法:希尔排序和快速排序。专题applet演示了希尔排序,快速排序的基础一一划分 ( paritioning)和两种形式的快速排序。

    第8章二叉树

    介绍了最简单最通用的树型结构:不平衡的二叉搜索树。一个专题applet演示了此类树的插入、删除和遍历是如何进行的。

    第9章红-黑树

    “红-黑树”解释了红-黑树,它是最有效的平衡树之一。

    帮忙转发+关注,加小助理vx:bjmsb2019即可~

    第10章2-3-4树和外部存储

    第10章“2-3-4树和外部存储”将2-3-4树作为多叉树的一个例子进行了讲解。讨论2-3树和2-3-4树与B树的关系,这些知识对于存储外部(磁盘)的文件十分有用。

    第11章哈希表

    “哈希表”转到哈希表这个新的讨论领域。专题applet 演示了几种方法:线性、二次探测和再哈希及链地址法。本章中还讨论了哈希表方法在组织外部文件方面的应用。

    第12章堆

    “堆”讨论了-种特殊的树一堆, 用它作为优先队列的一种有效的实现手段。

    第13章图

    第14章带权图

    第13章“图”和第14章“带权图”处理图的相关问题,前者处理未加权图和简单的查找算法,后者处理带权图和更加复杂的算法,如最小生成树和最短路径。

    第15章应用场合

    “应用场合”总结了前几章描述过的各种数据结构,还着重讨论了如何在给定情况下应用合适的数据结构的问题。

    福利来袭:

    左程云数据结构与算法面试视频讲解:

    写在最后

    需要免费领取这份数据结构和算法的朋友,帮忙转发+关注,加小助理vx:bjmsb2019即可免费获取~

    相关文章

      网友评论

          本文标题:真香,阿里巴巴首发“数据结构和算法”笔记,看完我惊呆了

          本文链接:https://www.haomeiwen.com/subject/payojktx.html