《大话数据结构》读书笔记

《大话数据结构》读书笔记

一本适合自学数据结构的书。


关键字

数据结构介绍,算法推导大O阶的方法,线性表结构的介 绍,顺序结构与链式结构差异,栈与队列的应用,串的朴素模式匹配、 KMP模式匹配算法,树结构的介绍,二叉树前中后序遍历,线索二叉 树,赫夫曼树及应用,图结构的介绍,图的深度、广度遍历,最小生成 树两种算法,最短路径两种算法,拓扑排序与关键路径算法,查找应用 的相关介绍,折半查找、插值查找、斐波那契查找等静态查找,稠密索 引、分块索引、倒排索引等索引技术,二叉排序树、平衡二叉树等动态 查找,B树、B+树技术,散列表技术,排序应用的相关介绍,冒泡、选 择、插入等简单排序,希尔、堆、归并、快速等改进排序,各位排序算法的对比。

要求

  1. 有一门编程语言基础,比如C、Python、Ruby、JavaScript、Java等任意一种编程语言即可。
  2. 有一定的数学修养和逻辑思维能力。

阅读越主动,效果越好。

本书的研读方法:

  1. 复习C语言的基础知识。
  2. 通读本书
  3. 阅读时,摘抄是非常好的习惯
  4. 阅读每一章时,一定要在电脑中运行代码


第一章绪论

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

逻辑结构:是指数据对象中数据元素之间的相互关系。

物理结构:是指数据在逻辑结构在计算机中的存储形式。

数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。

抽象数据类型:ADT,是指一个数学模型及定义在该模型上的一组操作。抽吸数据类型的定义取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。


第二章 算法

算法:是解决特定问题求解步骤的描述,在计算机中变现为指令的有限序列,并且每条指令表示一个或多个操作。

算法的五个基本特性

  1. 输入
  2. 输出
  3. 有穷性
  4. 确定性
  5. 可行性

程序在计算机上运行时所消耗的时间取决于下列因素:

  1. 算法采用的策略、方法。
  2. 编译产生的代码质量
  3. 问题的输入规模
  4. 机器执行执行的速度。


常见的时间复杂度所耗时间的大小排列:

O(1)


第三章 线性表

线性表:零个或多个数据元素的有限序列。

线性表

  1. 顺序存储结构
  2. 链式存储结构

    1. 单链表
    2. 静态链表
    3. 循环链表
    4. 双向链表


第四章 栈与队列

栈:是限定仅在表尾进行插入和删除操作的线性表。

队列:是只允许在一段进行插入操作、而在另一端进行删除操作的新型表。

  1. 顺序栈

    1. 两栈共享空间
  2. 链栈

队列

  1. 顺序队列

    1. 循环队列
  2. 链队列


第五章 串

串:是由零个或多个字符组成的有限序列,又名叫字符串。

KMP算法


第六章 树

树:是n(n>=0)个节点的有限集。n = 0 时称为空树 。在任意一颗非空树中:

(1)有且仅有一个特定的称为根(Root)的节点;

(2)当 n > 1 时,其余节点可分为 m (m > 0)个互不相交的有限集 T1、T2、……、Tm,其中每个集合又是一棵树,并且称为根的子树(SubTree)。

树的存储结构:

  1. 双亲表示法
  2. 孩子表示法
  3. 孩子兄弟表示法

二叉树。


第七章 图

图:是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合。

图的存储结构

  1. 邻接矩阵
  2. 邻接表
  3. 边集数组
  4. 十字链表
  5. 邻接多重表


有人在通往牛逼的路上一路狂奔, 而有人步入大学校园/社会就学会放弃。


第八章 查找

查找:就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。


第9章 排序

排序: 假设含有n个记录的序列为{r1,r2,......,rn},其相应的关键字分别为{k1,k2,......,kn},需确定1,2,......,n的一种排列p1,p2,......,pn,使其相应的关 键字满足kp1≤kp2≤......≤kpn(非递减或非递增)关系,即使得序列成为一 个按关键字有序的序列

{rp1,rp2,......,rpn},这样的操作就称为排序。

排序

  1. 插入排序类

    1. 直接插入排序
    2. 希尔排序
  2. 选择排序类

    1. 简单选择排序
    2. 堆排序
  3. 交换排序类

    1. 冒泡排序
    2. 快速排序
  4. 归并排序类

    1. 归并排序
《大话数据结构》读书笔记

《大话数据结构》读书笔记

如果你有梦想的话,就要去捍卫它。当别人做不到的时候,他们就想要告诉你,你也不能。如果你想要些什么,就得去努力争取。就这样!N

"


分享到:


相關文章: