本套算法与数据结构教程,顾名思义主要讲解程序的精髓:算法与数据结构,以C++语言为描述语言,涵盖C++的利器STL库、各种数据结构如树、图、链表、堆、矩阵等数据结构,以及各种算法的实现,匹配了大量的案例和代码。不仅如此,还配套了对应的真题训练,即掌握算法就可以完成对应的真题,这些真题大多出自一些赛题,可以最大程度模拟锻炼,做到学练同步,尤其对于参加比赛(如ACM、蓝桥杯)的同学大有裨益。
本教程对应题库:编程题库 ,值得说明的是,数据结构与算法重点是抽象的模型、思想和数学方法,不限制语言,本教程选用C++是因为受众面广,因此,对于任何语言都是可以实现的,所以对于题库中的题目,对于常用语言,如C/C++、java、Python均可提交。
在学习过程中,也可以随时点击右侧-弹出编译器,在线写代码随时编译运行,无需自己电脑安装任何软件,即可不受电脑环境影响,随时可以运行、试验代码。
第二章 链表
1.顺序存储和链式存储
2.单链表的基本设计(C语言代码实现)
3.单链表的基本操作及C语言代码实现
4.双向链表的基本设计(C语言代码实现)
5.双向链表的基本操作及C语言代码实现
6.循环链表的介绍及创建(C语言代码实现)
7.循环链表的基本操作及C语言代码实现
第五章 C++STL库教程(附带题库)
1.C++的区别
2.C++STL教程入门
3.C++STL之Vector容器
4.C++STL之List容器
5.C++STL之stack栈容器
6.C++STL之Queue容器
7.C++STL之Priority_queue(优先队列)
8.C++STL之Set容器
9.set theory(集合论)
10.C++STL之Map容器
11.C++STL之Pair类模板
12.C++STL之multiset与multimap容器
13.C/C++如何设计函数多返回值?
14.C/C++如何加速输入输出效率(上)
15.C/C++如何加速输入输出效率(下)
第六章 串、数组、矩阵和广义表
1.C++字符串常用操作(一)
2.C++字符串常用操作(二)
3.字符串的KMP算法详解及C/C++代码实现
4.C++中string字符串类型介绍
5.用数组实现模拟算法C/C++实现(配例题)
6.矩阵的介绍及乘法运算(附C语言实现代码)
7.矩阵加减法操作及C语言代码实现
8.矩阵扩展-算卷积算法介绍及C语言代码实现
9.广义表的介绍及设计(C语言实现)
10.广义表的创建及C语言代码实现
第七章 树
1.树的概念
2.二叉树及分类介绍
3.二叉树的存储(C语言实现)
4.树的遍历之先序遍历二叉树
5.树的遍历之中序遍历二叉树
6.树的遍历之后序遍历二叉树
7.DFS(深度优先搜索)算法讲解(附模板及习题)
8.树形模拟法的运用(C语言例题讲解)
9.二叉树(树)与森林的相互转换
10.哈夫曼树的介绍及C语言代码实现
11.哈夫曼树编码与查找算法(C语言实现)
第八章 图
1.图的存储-邻接矩阵及C/++代码实现
2.邻接表的定义及C/C++代码实现
3.图的存储:链式向前星
4.图的遍历DFS深搜优先搜索及C语言代码实现
5.图的遍历BFS广度优先搜索
6.最小生成树,普利姆(Prim)算法及C/C++代码实现
7.最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现
8.最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现
9.最短路径,弗洛伊德(Floyd)算法及C/C++代码实现
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程