数据结构——小白求学记

目录

前言

第一章 绪论

1.1 数据结构的基本概念

1.1.1 基本概念和术语

1.1.2数据结构三要素

1.2 算法和算法评价

1.2.1算法的基本概念

1.2.2算法效率的度量

1.3 归纳总结

第二章 线性表

2.1线性表的定义和基本操作

2.1.1线性表的定义

2.1.2线性表的基本操作

2.2线性表的顺序表示

2.2.1顺序表的定义

2.2.2顺序表上基本操作的实现

2.3线性表的链式表示

2.3.1单链表的定义

2.3.2单链表上基本操作的实现

2.3.3双链表

2.3.4循环链表

2.3.5静态链表

2.3.6顺序表和链表的比较

2.4归纳总结

第三章 栈、队列和数组

3.1栈

3.1.1栈的基本概念

3.1.2栈的顺序存储结构

3.1.3栈的链式存储结构

3.2队列

3.2.1队列的基本概念

3.2.2队列的顺序存储结构

3.2.3队列的链式存储结构

3.2.4双端队列

3.3栈和队列的应用

3.3.1栈在括号匹配中的应用

3.3.2栈在表达式求值中的应用

3.3.3栈在递归中的应用

3.3.4队列在层次遍历中应用

3.3.5队列在计算机系统中的应用

3.4数组和特殊矩阵

3.4.1数组的定义

3.4.2数组的存储结构

3.4.3特殊矩阵的压缩存储

3.4.4稀疏矩阵

3.5归纳总结

第四章 串

4.1串的定义和实现*

4.1.1串的定义

4.1.2串的存储结构

4.1.3串的基本操作

4..2串的匹配模式

4.2.1简单的模式匹配算法

4.2.2串的模式匹配算法——KMP算法

4.2.3KMP算法的进一步优化

4.3归纳总结

第五章 树与二叉树

5.1树的基本概念

5.1.1树的定义

5.1.2基本术语

5.1.3树的性质

5.2二叉树的概念

5.2.1二叉树的定义及其主要特性

5.2.2二叉树的存储结构

5.3二叉树的遍历和线索二叉树

5.3.1二叉树的遍历

5.3.2线索二叉树

5.4树、森林

5.4.1树的存储结构

5.4.2树、森林与二叉树的转换

5.4.3树和森林的遍历

5.5树与二叉树的应用

5.5.1哈夫曼树和哈夫曼编码

5.5.2并查集

5.6归纳总结

第六章 图

6.1图的基本概念

6.1.1图的定义

6.2图的存储与基本操作

6.2.1邻接矩阵法

6.2.2邻接表法

6.2.3十字链表

6.2.4邻接多重表

6.2.5图的基本操作

6.3图的遍历

6.3.1广度优先搜索

6.3.2深度优先搜索

6.3.3图的遍历与图的连通性

6.4图的应用

6.4.1最小生成树

6.4.2最短路径

6.4.3有向无环图描述表达式

6.4.4拓扑排序

6.4.5关键路径

第七章 查找

7.1查找的基本概念

7.2顺序查找和折半查找

7.2.1顺序查找

7.2.2折半查找

7.2.3分块查找

7.3树型查找

7.3.1二叉排序树(BST)

7.3.2平衡二叉树

7.3.3红黑树

7.4B树和B+树

7.4.1B树及其基本操作

7.4.2B+树的基本概念

7.5散列表

7.5.1散列表的基本概念

7.5.2散列函数的构造方法

7.5.3处理冲突的方法

7.5.4散列查找及性能分析

7.6归纳总结

第八章 排序

8.1排序的基本概念

8.1.1排序的定义

8.2插入排序

8.2.1直接插入排序

8.2.2折半插入排序

8.2.3希尔排序

8.3交换排序

8.3.1冒泡排序

8.3.2快速排序

8.4选择排序

8.4.1简单选择排序

8.4.2堆排序

8.5归并排序和基数排序

8.5.1归并排序

8.5.2基数排序

8.6各种内部排序算法的比较及应用

8.6.1内部排序算法的比较

8.6.2内部排序算法的应用

8.7外部排序

8.7.1外部排序的基本概念

8.7.2外部排序的方法

8.7.3多路平衡归并与败者树

8.7.4置换-选择排序

8.7.5最佳归并树

8.8归纳总结



前言

第一章 绪论

1.1 数据结构的基本概念

1.1.1 基本概念和术语

数据结构的基本概念和术语包括以下内容:

1. 数据:描述客观事物的符号,是计算机程序处理的对象。

2. 数据元素:数据的基本单位,通常作为一个整体进行处理。例如,一个学生的信息可以作为一个数据元素。

3.数据对象

4.数据类型

5.数据结构

1.1.2数据结构三要素

1.数据的逻辑结构

2.数据的存储结构

3.数据的运算

1.2 算法和算法评价

1.2.1算法的基本概念

1.2.2算法效率的度量

1.时间复杂度

2.空间复杂度

1.3 归纳总结

第二章 线性表

2.1线性表的定义和基本操作

2.1.1线性表的定义

2.1.2线性表的基本操作

2.2线性表的顺序表示

2.2.1顺序表的定义

2.2.2顺序表上基本操作的实现

2.3线性表的链式表示

2.3.1单链表的定义

2.3.2单链表上基本操作的实现

1.采用头插法建立单链表

2.采用尾插法建立单链表

3.按序号查找结点

4.按值查找表结点

5.插入节点操作

6.删除结点操作

7.求表长操作

2.3.3双链表

1.双链表的插入操作

2.双链表的删除操作

2.3.4循环链表

1.循环单链表

2.循环双链表

2.3.5静态链表

2.3.6顺序表和链表的比较

1.存取(读写)方式

2.逻辑结构与物理结构

3.查找、插入和删除操作

4.空间分配

如何选取存储结构呢?

1.基于存储的考虑

2.基于运算的考虑

3.基于环境的考虑

2.4归纳总结

第三章 栈、队列和数组

3.1栈

3.1.1栈的基本概念

1.栈的定义

2.栈的基本操作

3.1.2栈的顺序存储结构

1.顺序栈的实现

2.顺序栈的基本运算

3.共享栈

3.1.3栈的链式存储结构

3.2队列

3.2.1队列的基本概念

1.队列的定义

2.队列常见的基本操作

3.2.2队列的顺序存储结构

1.队列的顺序存储

2.循环队列

3.循环队列的操作

3.2.3队列的链式存储结构

1.队列的链式存储

2.链式队列的基本操作

3.2.4双端队列

3.3栈和队列的应用

3.3.1栈在括号匹配中的应用

3.3.2栈在表达式求值中的应用

3.3.3栈在递归中的应用

3.3.4队列在层次遍历中应用

3.3.5队列在计算机系统中的应用

3.4数组和特殊矩阵

3.4.1数组的定义

3.4.2数组的存储结构

3.4.3特殊矩阵的压缩存储

1.对称矩阵

2.三角矩阵

3.三对角矩阵

3.4.4稀疏矩阵

3.5归纳总结

第四章 串

4.1串的定义和实现*

4.1.1串的定义

4.1.2串的存储结构

1.定长顺序存储表示

2.堆分配存储表示

3.块链存储表示

4.1.3串的基本操作

4..2串的匹配模式

4.2.1简单的模式匹配算法

4.2.2串的模式匹配算法——KMP算法

1.字符串的前缀、后缀和部分匹配值

2.KMP算法的原理是什么?

4.2.3KMP算法的进一步优化

4.3归纳总结

第五章 树与二叉树

5.1树的基本概念

5.1.1树的定义

5.1.2基本术语

5.1.3树的性质

5.2二叉树的概念

5.2.1二叉树的定义及其主要特性

1.二叉树的定义

2.几个特殊的二叉树

3.二叉树的性质

5.2.2二叉树的存储结构

1.顺序存储结构

2.链式存储结构

5.3二叉树的遍历和线索二叉树

5.3.1二叉树的遍历

1.先序遍历

2.中序遍历

3.后序遍历

4.递归算法和非递归算法的转换

5.层次遍历

6.由遍历序列构造二叉树

5.3.2线索二叉树

1.线索二叉树的基本概念

2.中序线索二叉树的构造

3.中序线索二叉树的遍历

4.先序线索二叉树和后序线索二叉树

5.4树、森林

5.4.1树的存储结构

1.双亲表示法

2.孩子表示法

3.孩子兄弟表示法

5.4.2树、森林与二叉树的转换

5.4.3树和森林的遍历

5.5树与二叉树的应用

5.5.1哈夫曼树和哈夫曼编码

1.哈夫曼树的定义

2.哈夫曼树的构造

3.哈夫曼编码

5.5.2并查集

5.6归纳总结

第六章 图

6.1图的基本概念

6.1.1图的定义

1.有向图

2.无向图

3.简单图、多重图

4.完全图(也称简单完全图)

5.子图

6.连通、连通图和连通分量

7.强连通图、强连通分量

8.生成树、生成森林

9.顶点的度、入度和出度

10.边的权和网

11.稠密图、稀疏图

12.路径、路径长度和回路

13.简单路径、简单回路

14.距离

15.有向树

6.2图的存储与基本操作

6.2.1邻接矩阵法

6.2.2邻接表法

6.2.3十字链表

6.2.4邻接多重表

6.2.5图的基本操作

6.3图的遍历

6.3.1广度优先搜索

1.BFS算法的性能分析

2.BFS算法求解单源最短路径问题3

3.广度优先生成树

6.3.2深度优先搜索

1.DFS算法的性能分析

2.深度优先的生成树和生成森林

6.3.3图的遍历与图的连通性

6.4图的应用

6.4.1最小生成树

1.Prim算法

2.Kruskal算法

6.4.2最短路径

1.Dijkstra算法求解单源最短路径问题

2.Floyd算法求各顶点之间最短路径问题

6.4.3有向无环图描述表达式

6.4.4拓扑排序

6.4.5关键路径

1.事件Vk的最早发生时间Ve(K)

2.事件Vk的最迟发生时间Vl(K)

3.活动ai的最早开始时间e(i)

4.活动ai的最迟开始时间l(i)

5.一个活动ai的最迟开始时间l(i)和其最早开始时间e(i)的差额d(i)=l(i)-e(i)

第七章 查找

7.1查找的基本概念

7.2顺序查找和折半查找

7.2.1顺序查找

1.一般线性表的顺序查找

2.有序表的顺序查找

7.2.2折半查找

7.2.3分块查找

7.3树型查找

7.3.1二叉排序树(BST)

1.二叉排序树的定义

2.二叉排序树的查找

3.二叉排序树的插入

4.二叉排序树的构造

5.二叉排序树的删除

6.二叉排序树的查找效率分析

7.3.2平衡二叉树

1.平衡二叉树的定义

2..平衡二叉树的插入

3..平衡二叉树的删除

4..平衡二叉树的查找

7.3.3红黑树

1.红黑树的定义

2.红黑树的插入

3.红黑树的删除*

7.4B树和B+树

7.4.1B树及其基本操作

1.B树的高度(磁盘存取次数)

2.B树的查找

3.B树的插入

4.B树的删除

7.4.2B+树的基本概念

7.5散列表

7.5.1散列表的基本概念

7.5.2散列函数的构造方法

1.直接定址法

2.除留余数法

3.数字分析法

4.平方取中法

7.5.3处理冲突的方法

1.开放定址法

2.拉链法(链接法,chaining)

7.5.4散列查找及性能分析

7.6归纳总结

第八章 排序

8.1排序的基本概念

8.1.1排序的定义

8.2插入排序

8.2.1直接插入排序

8.2.2折半插入排序

8.2.3希尔排序

8.3交换排序

8.3.1冒泡排序

8.3.2快速排序

8.4选择排序

8.4.1简单选择排序

8.4.2堆排序

8.5归并排序和基数排序

8.5.1归并排序

8.5.2基数排序

8.6各种内部排序算法的比较及应用

8.6.1内部排序算法的比较

8.6.2内部排序算法的应用

8.7外部排序

8.7.1外部排序的基本概念

8.7.2外部排序的方法

8.7.3多路平衡归并与败者树

8.7.4置换-选择排序

8.7.5最佳归并树

8.8归纳总结

你可能感兴趣的:(学习,数据结构)