前言
本专栏主要分为五个部分:
① 重要基础知识点详解② 近百道练习题解析
③ 数据结构与算法测试
④ 数据结构与算法实验
⑤ 数据结构与算法试卷
目录
前言
第一部分:基础
第二部分:练习
第三部分:测试
第四部分:实验
第五部分:试卷
总结
第一部分:基础
1 | 顺序表的十个基本操作(全) | https://want595.blog.csdn.net/article/details/127139051 |
2 | 单链表的十三个基本操作(全) | https://want595.blog.csdn.net/article/details/127139598 |
3 | 四种创建单链表的方法 | https://want595.blog.csdn.net/article/details/127017405 |
4 | 约瑟夫环问题(三种方法) | https://want595.blog.csdn.net/article/details/127019472 |
5 | 两个有序表的合并(三种方法) | https://want595.blog.csdn.net/article/details/127104602 |
6 | 一元多项式相加问题(两种方法) | https://want595.blog.csdn.net/article/details/127131351 |
7 | 删除重复元素(顺序表、单链表) | https://want595.blog.csdn.net/article/details/127023468 |
8 | 顺序栈与链栈 | https://want595.blog.csdn.net/article/details/127035609 |
9 | 顺序循环队列与链队列 | https://want595.blog.csdn.net/article/details/127040115 |
10 | 后缀表达式的转换(栈的运用) | https://want595.blog.csdn.net/article/details/127088466 |
11 | 简单表达式的计算(两种方法) | https://want595.blog.csdn.net/article/details/127121720 |
12 | next数组(详细求法) | https://want595.blog.csdn.net/article/details/127217629 |
13 | BF算法(具体应用) | https://want595.blog.csdn.net/article/details/127138894 |
14 | 串的模式匹配相关问题(BF算法、KMP算法) | https://want595.blog.csdn.net/article/details/127182721 |
15 | 二叉树的遍历(七种方法) | https://want595.blog.csdn.net/article/details/127472445 |
第二部分:练习
Part 1:顺序表
顺序表 | ||
1 | C语言实现顺序表的插入、删除 | https://want595.blog.csdn.net/article/details/126967798 |
2 | 顺序表基本练习-初始化、插入和输出 | https://want595.blog.csdn.net/article/details/127737121 |
3 | 顺序表基本练习-删除元素 | https://want595.blog.csdn.net/article/details/127737165 |
4 | 顺序表基本操作-查找 | https://want595.blog.csdn.net/article/details/127737191 |
5 | 顺序表删除重复元素 | https://want595.blog.csdn.net/article/details/126998125 |
6 | 顺序表实现集合并集 | https://want595.blog.csdn.net/article/details/127737454 |
7 | 顺序表元素循环左移(new) | https://want595.blog.csdn.net/article/details/128281975 |
8 | 删除顺序表中最小值 | https://want595.blog.csdn.net/article/details/126984319 |
9 | 递增顺序表插入 | https://want595.blog.csdn.net/article/details/126990708 |
10 | 将顺序表非零元素依次移到表的前端 | https://want595.blog.csdn.net/article/details/127737349 |
11 | 删除顺序表中第一个值等于x的元素 | https://want595.blog.csdn.net/article/details/127619864 |
12 | 在顺序表中,输入一个元素插入到原表的最小元素之前 | https://want595.blog.csdn.net/article/details/127365247 |
Part 2:链表
链表 | ||
1 | 单链表基本练习-初始化、插入和输出 | https://want595.blog.csdn.net/article/details/127736480 |
2 | 单链表基本操作-查找 | https://want595.blog.csdn.net/article/details/127736423 |
3 | 单链表基本练习-删除 | https://want595.blog.csdn.net/article/details/127736456 |
4 | 建立带头结点的单链表 | https://want595.blog.csdn.net/article/details/126970065 |
5 | 统计不带头结点的单链表长度(循环方法) | https://want595.blog.csdn.net/article/details/127008415 |
6 | 单链表插入 | https://want595.blog.csdn.net/article/details/126998809 |
7 | 单链表删除 | https://want595.blog.csdn.net/article/details/126992677 |
8 | 在带头结点的单链表的最大值前面插入一个新的结点 | https://want595.blog.csdn.net/article/details/127621122 |
9 | 有头结点单链表中查找值等于指定值的结点 | https://want595.blog.csdn.net/article/details/127056486 |
10 | 在带头单链表中查找倒数第k个结点(参数传出) | https://want595.blog.csdn.net/article/details/126984652 |
11 | 删除链表中的重复元素 | https://want595.blog.csdn.net/article/details/127972869 |
12 | 删除带头结点的单链表中值重复的元素 | https://want595.blog.csdn.net/article/details/127008877 |
13 | 删除带头结点的单链表中元素值小于x的所有元素 | https://want595.blog.csdn.net/article/details/127737764 |
14 | 在带头结点单链表中查找最大值,将其与最后一个元素交换(交换值) | https://want595.blog.csdn.net/article/details/127041933 |
15 | 链表字符统计 | https://want595.blog.csdn.net/article/details/126996405 |
16 | 有头结点单链表逆置 | https://want595.blog.csdn.net/article/details/126993997 |
17 | 双向循环链表修复 | https://want595.blog.csdn.net/article/details/127741782 |
18 | 双向链表中插入结点并输出 | https://want595.blog.csdn.net/article/details/127369933 |
19 | 连接两个循环单链表 | https://want595.blog.csdn.net/article/details/127620872 |
20 | 按奇偶位序改造带头结点的单链表 | https://want595.blog.csdn.net/article/details/127371644 |
21 | 合并零之间非零节点 | https://want595.blog.csdn.net/article/details/128084956 |
22 | 两个整数求和(链表) | https://want595.blog.csdn.net/article/details/127852063 |
23 | 一元多项式相加(单链表) | https://want595.blog.csdn.net/article/details/127012074 |
24 | 编写一个程序实现两个一元多项式相加的运算 | https://want595.blog.csdn.net/article/details/127369999 |
25 | 约瑟夫环问题(顺序表实现) | https://want595.blog.csdn.net/article/details/126991346 |
26 | 约瑟夫环问题(循环单链表) | https://want595.blog.csdn.net/article/details/126980974 |
Part 3:栈与队列
栈与队列 | ||
1 | 栈的基本操作 | https://want595.blog.csdn.net/article/details/127029776 |
2 | 函数:判断表达式括弧是否匹配 | https://want595.blog.csdn.net/article/details/127385417 |
3 | 栈的应用-判断表达式括弧是否匹配(()、[]、{}) | https://want595.blog.csdn.net/article/details/127034244 |
4 | 数制转换(十进制转二进制) | https://want595.blog.csdn.net/article/details/127030116 |
5 | 纸条解密-栈的应用 | https://want595.blog.csdn.net/article/details/127972836 |
6 | 简单表达式计算 | https://want595.blog.csdn.net/article/details/127076506 |
7 | 浏览器中访问网页、回退及前进模拟 | https://want595.blog.csdn.net/article/details/127760635 |
8 | 舞伴配对模拟 | https://want595.blog.csdn.net/article/details/127856027 |
9 | 判断序列是否为正确的出栈序列 | https://want595.blog.csdn.net/article/details/128051502 |
10 | 链队列基本操作 | https://want595.blog.csdn.net/article/details/127504167 |
11 | 顺序循环队列的基本操作 | https://want595.blog.csdn.net/article/details/127504119 |
12 | 用尾指针标识的单循环链表实现队列r | https://want595.blog.csdn.net/article/details/127856588 |
Part 4:串
串 | ||
1 | 串的表示及基本操作 | https://want595.blog.csdn.net/article/details/127519718 |
2 | 字符串中删除子串 | https://want595.blog.csdn.net/article/details/127066751 |
3 | 替换字符串中所有子串 | https://want595.blog.csdn.net/article/details/128282003 |
4 | 串的模式匹配(BF算法) | https://want595.blog.csdn.net/article/details/127519780 |
5 | BF算法之输出子串在主串中的位置 | https://want595.blog.csdn.net/article/details/127138938 |
6 | 具有通配符?的模式匹配算法(BF) | https://want595.blog.csdn.net/article/details/127972990 |
7 | 串的模式匹配(KMP算法) | https://want595.blog.csdn.net/article/details/127181535 |
8 | 编写程序将一个子串插入到主串中 | https://want595.blog.csdn.net/article/details/127561944 |
Part 5:矩阵
矩阵 | ||
1 | 稀疏矩阵的三元组存储及快速转置 | https://want595.blog.csdn.net/article/details/127622836 |
2 | 稀疏矩阵的压缩存储 | https://want595.blog.csdn.net/article/details/127251574 |
3 | 对称矩阵的压缩存储 | https://want595.blog.csdn.net/article/details/127237189 |
Part 6:树
树 | ||
1 | 二叉树的建立与遍历 | https://want595.blog.csdn.net/article/details/127460111 |
2 | 层次遍历二叉树 | https://want595.blog.csdn.net/article/details/127851432 |
3 | 计算二叉树的最大宽度 | https://want595.blog.csdn.net/article/details/127643826 |
4 | 查找二叉树指定结点,并输出以该结点为根的子树的深度 | https://want595.blog.csdn.net/article/details/127470043 |
5 | 计算二叉树的深度和叶子结点数 | https://want595.blog.csdn.net/article/details/127460472 |
6 | 交换二叉树中所有结点的左右结点 | https://want595.blog.csdn.net/article/details/127851496 |
7 | 非递归方式实现二叉树的四种遍历 | https://want595.blog.csdn.net/article/details/127817379 |
8 | 利用非递归遍历统计二叉树的结点数 | https://want595.blog.csdn.net/article/details/127851363 |
9 | 函数:先序输出叶结点 | https://want595.blog.csdn.net/article/details/128282061 |
10 | 哈夫曼树和哈夫曼编码 | https://want595.blog.csdn.net/article/details/127811626 |
11 | 哈夫曼的编码和解码过程 | https://want595.blog.csdn.net/article/details/127972747 |
Part 7:图
图 | ||
1 | 图的邻接矩阵创建 | https://want595.blog.csdn.net/article/details/128082062 |
2 | 图的邻接表存储 | https://want595.blog.csdn.net/article/details/128051336 |
3 | 图的邻接矩阵与搜索 | https://want595.blog.csdn.net/article/details/127991797 |
4 | 图邻接表和拓扑排序 | https://want595.blog.csdn.net/article/details/128191663 |
5 | 图的最小生成树-Prim算法 | https://want595.blog.csdn.net/article/details/128061523 |
6 | 图的最小生成树-Kruskal算法 | https://want595.blog.csdn.net/article/details/128191701 |
7 | 计算有向图点的入度与出度 | https://want595.blog.csdn.net/article/details/127993469 |
8 | 单源点最短路径(输出路径) | https://want595.blog.csdn.net/article/details/128089453 |
Part 8:查找
查找 | ||
1 | 查找-顺序查找 | https://want595.blog.csdn.net/article/details/128298940 |
2 | 查找-折半查找 | https://want595.blog.csdn.net/article/details/128154490 |
3 | 查找-二叉排序树 | https://want595.blog.csdn.net/article/details/128149201 |
Part 9:排序
排序 | ||
1 | 简单排序(排序过程) | https://want595.blog.csdn.net/article/details/128158773 |
2 | 快速排序算法 | https://want595.blog.csdn.net/article/details/128158811 |
3 | 排序-选择类排序 | https://want595.blog.csdn.net/article/details/128158564 |
4 | 排序-交换类排序 | https://want595.blog.csdn.net/article/details/128329787 |
5 | 排序-插入类排序 | https://want595.blog.csdn.net/article/details/128329706 |
6 | 排序-堆排序 | https://want595.blog.csdn.net/article/details/128384150 |
第三部分:测试
测试1 | 绪论 | https://want595.blog.csdn.net/article/details/127586160 |
测试2 | 线性表 | https://want595.blog.csdn.net/article/details/127591268 |
测试3 | 栈和队列 | https://want595.blog.csdn.net/article/details/127592062 |
测试4 | 串 | https://want595.blog.csdn.net/article/details/127594992 |
测试5 | 数组和广义表 | https://want595.blog.csdn.net/article/details/127600395 |
测试6 | 树和二叉树 | https://want595.blog.csdn.net/article/details/127677927 |
测试7 | 图 | https://want595.blog.csdn.net/article/details/128103267 |
测试8 | 查找 | https://want595.blog.csdn.net/article/details/128347714 |
测试9 | 排序 | https://want595.blog.csdn.net/article/details/128354052 |
第四部分:实验
实验1 | 预备实验 | https://want595.blog.csdn.net/article/details/127189479 |
实验2 | 顺序表与链表 | https://want595.blog.csdn.net/article/details/127200473 |
实验3 | 栈和队列 | https://want595.blog.csdn.net/article/details/127215491 |
实验4 | 串 | https://want595.blog.csdn.net/article/details/127224368 |
实验5 | 数组和特殊矩阵 | https://want595.blog.csdn.net/article/details/127243069 |
实验6 | 树 | https://want595.blog.csdn.net/article/details/127460702 |
实验7 | 图 | https://want595.blog.csdn.net/article/details/128068272 |
实验8 | 查找 | https://want595.blog.csdn.net/article/details/128163041 |
实验9 | 排序 | https://want595.blog.csdn.net/article/details/128170363 |
第五部分:试卷
1 | 试卷1 | https://want595.blog.csdn.net/article/details/128366307 |
2 | 试卷2 | https://want595.blog.csdn.net/article/details/128369350 |
3 | 试卷3 | https://want595.blog.csdn.net/article/details/128370494 |
4 | 试卷4 | https://want595.blog.csdn.net/article/details/128380517 |
总结
莫忘年少凌云志,曾许人间第一流