阅读:0       作者:严长生

数据结构与算法教程,数据结构C语言版教程!

——通俗易懂、深入浅出、中文免费、完整示例、基于C语言

这套教程不仅讲解了基本的数据结构,还讲解了经典的算法,并把它们付诸实践,解决生活中的实际问题,例如停车场管理系统、迷宫游戏、字符过滤系统等。

这套教程最大的特点是通俗易懂,深入浅出,摒弃教条主义,不做“学院派”,以“生动有趣”的笔风来讲解每个知识点。

第1章 数据结构概述
1.数据结构概述
2.算法的时间复杂度和空间复杂
第2章 线性表
1.线性表的概念
2.顺序表,似曾相识哦!
3.链表,So easy!
4.静态链表,顺序表和链表的完美融合!
5.循环链表带你走进约瑟夫环!
6.双向(循环)链表,绝对让你眼前一亮!
7.「项目实践」俄罗斯轮盘赌小游戏
第3章 栈和队列
1.栈(Stack),奇葩的存在!
2.「项目实践」进制转换器
3.「项目实践」括号匹配
4.队列(Queue)
5.「项目实践」变态的停车场管理系统
6.「项目实践」扑克牌小游戏
第4章 字符串
1.字符串的存储结构
2.BF算法(普通模式匹配算法)
3.KMP算法(快速模式匹配算法)
4.「项目实践」字符过滤系统
第5章 数组和广义表
1.数据结构让你对数组有了新的认识!
2.矩阵的压缩存储算法
3.矩阵转置
4.矩阵乘法
5.矩阵加法
6.广义表的定义和存储结构
7.广义表的长度和深度
8.复制广义表
第6章 树
1.数据结构中的树
2.二叉树的存储结构
3.二叉树的三种遍历方式(递归实现)
4.二叉树的三种遍历方式(非递归方式)
5.二叉树的层次遍历
6.线索二叉树的构建与遍历
7.线索二叉树的遍历也可以是双向的
8.树的三种表示方法
9.哈夫曼树
10.回溯法轻松解决八皇后问题
11.n个结点可以构造这么多种树!
12.「项目实践」移动迷宫小游戏(初级版)
第7章 图
1.数据结构中的图
2.图的顺序存储结构
3.图的 3 种链式存储结构
4.图的两种遍历方式:深搜和广搜
5.深度优先生成树和广度优先生成树
6.普里姆算法求最小生成树
7.克鲁斯卡尔算法求最小生成树
8.重连通图
9.拓扑排序算法
10.关键路径
11.求最短路径(迪杰斯特拉算法)
12.求最短路径(弗洛伊德算法)
13.「项目实践」移动迷宫小游戏(升级版)
第8章 动态内存管理
1.动态内存管理
2.动态内存管理之边界标识法
3.动态内存管理之伙伴系统
4.系统垃圾回收机制
5.内存碎片可以这样处理!
第9章 查找算法
1.一分钟了解什么是查找表
2.静态查找之顺序查找算法
3.折半查找(二分查找)
4.分块查找算法(索引顺序查找)
5.静态树表查找算法
6.二叉排序树(二叉查找树)
7.平衡二叉树(AVL树)
8.红黑树算法
9.B-树
10.B+树
11.键树(数字查找树)
12.什么是哈希表
13.哈希查找算法
第10章 排序算法
1.插入排序算法
2.折半插入排序算法
3.2-路插入排序算法
4.表插入排序算法
5.希尔排序算法
6.起泡排序算法
7.快速排序算法
8.三种选择排序算法
9.归并排序算法
10.基数排序算法
第11章 外部排序算法
1.外部排序算法,就这么简单!
2.多路平衡归并排序算法,没你想的这么神秘!
3.置换选择排序算法,一点也不烧脑!
4.最佳归并树,一看就会!
第12章 算法设计的常用思想
1.数组
2.散列表(哈希表)
3.栈(stack)
4.队列(queue)
5.栈实现队列
6.队列实现栈
7.链表反转
8.汉诺塔的递归实现
9.时间复杂度和空间复杂度
10.桶排序
11.冒泡排序算法
12.快速排序算法
13.插入排序算法
14.希尔排序算法
15.简单选择排序算法
16.顺序查找算法
17.二分查找算法
18.分块查找算法
源码下载
栈的基本操作
约瑟夫环问题
静态链表插入和删除
头节点、首元节点和头指针
链表的插入和删除
顺序表的基本操作
顺序表的删除操作
顺序表的插入操作
顺序表的创建和初始化
三元组表示稀疏矩阵
头结点和头指针
链表中插入节点
哈夫曼编码算法
二叉树的遍历算法
数据结构文学研究助手案例解析
队列打印杨辉三角
稀疏矩阵的转置算法
农夫过河问题详解
头插法创建单链表
尾插法创建单链表
背包问题详解
顺序表的就地逆置
链表实现多项式相加
链表逆置,链表反转