
初学者能学会的数据结构与算法
文章平均质量分 88
数据结构中的难点、重点一网打尽(C++的内容不再放在本专栏喽,放在了《初学至学会C++》)
jxwd
转载请注明出处,欢迎转载转发。开心学编程,学到无极限
展开
-
C++ 第八节&数据结构 第七节 ——二叉搜索树 AVL树 红黑树(底层原理图+模拟实现)
我们将着重来探讨 二叉树 中特殊的两种树——搜索二叉树 和 平衡二叉树。而平衡二叉树我们可以有AVL树,红黑树等。我们今天就重点来说说这三种结构。1、二叉搜索树我们之所以将其放在这里来讲,最主要的原因就是之前我们所有模拟实现都是用C去实现的,而这些东西用C语言很难实现,所以,我们将其放在C++当中。1-1、概念二叉搜索树又称二叉排序树,它要么是一个空树,要么是满足以下性质的一个二叉树。若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树原创 2022-03-02 21:47:23 · 2835 阅读 · 51 评论 -
初阶 数据结构与算法——经典 八大排序算法||初步学习至熟练掌握(附动图演示,初学者也能看懂)
一、冒泡排序(Bubble_sort)1、文字表述版:2、动画演示版:3、代码实现版本:复杂度分析:适用情况:二、选择排序(select_sort)1、文字表述版:2、动画演示版:3、代码实现版:复杂度分析:适用场景:三、插入排序(insert_sort)1、文字 表述版:2、动画演示版:3、代码实现版:时间复杂度:适用情况:四、希尔排序(shell_sort)1、文字表述版:2、动图演示版:3、代码实现版:原创 2022-01-22 16:00:03 · 1455 阅读 · 38 评论 -
数据结构与算法——第五节 树和堆
树的定义及相关定义树的定义树的节点的相关概念树的表示法(存储法)1、双亲表示法:2、孩子表示法3、孩子兄弟表示法:二叉树的概念及相关概念二叉树的概念二叉树的特点:特殊的二叉树1、斜树:2、满二叉树3、完全二叉树3、二叉树的性质4、二叉树的存储顺序存储链式存储5、二叉树的遍历方法1、前序遍历2、中序遍历3、后续遍历4、层序遍历堆(优先队列)堆的概念:堆的性质(两条):堆的原创 2022-01-21 17:55:31 · 1366 阅读 · 13 评论 -
数据结构与算法——第四节 栈和队列(C 模拟实现+思路分析+运行截图)
栈栈的概念及结构栈的具体实现函数1:void StackInit(Stack* pst); //初始化栈函数2:void StackDestory(Stack* pst); //销毁栈函数3:void StackPush(Stack* pst,STDataType x); //压栈剩余函数:队列队列的具体实现函数1:void QueueInit(Queue* q); // 初始化队列函数2:void QueuePush(Queue*原创 2022-01-20 15:56:08 · 1042 阅读 · 17 评论 -
数据结构与算法——第三节 链表(单向不循环不带头+双向循环带头 C实现+源码剖析+运行+思路分析)
链表的存在意义和背景链表的构成与定义链表的分类双链表的实现函数1:打印链表 void ListPrint(ListNode* phead); 函数2:ListNode* BuyListNode(LTDataTYpe x);//创建新节点函数3:ListNode* ListInit();//初始化链表函数4:void ListNodePushFront(ListNode* phead, LTDataTYpe x);//头插函数5:void Lis原创 2022-01-19 16:45:31 · 1466 阅读 · 32 评论 -
数算部分第二节——顺序表(C语言实现+思路分析+源码分析+运行)
其实,相信大家对顺序表都不陌生,所以在这里有关其概念我们就简单地提一下,今天的重点是代码的实现。顺序表,顾名思义就是顺着往后排的。其实说白了,它就是一个数组。顺序表的有关概念简而言之,就是用一段地址连续的存储单元依次存储数据。好,废话不多说,我们来开始模拟实现顺序表(C语言版)我们将会以项目工程和接口的形式来完成顺序表的实现。我们将会创建三个文件:SeqList.h SeqList.c mo..原创 2021-11-25 17:04:45 · 1261 阅读 · 9 评论 -
数算部分-----第一节----算法的时空复杂度
对于很多学校和老师来说,这一节是直接不讲的。但我想说,这一节,是算法的核心。甚至于比我们后面所有学的数据结构以及算法的知识都要重要。它对于我们代码的优化、代码的规范和简化、代码的书写习惯都提升了一个更高的要求。...原创 2021-11-06 23:35:03 · 629 阅读 · 6 评论