![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
有趣的数据结构算法
Bubbliiiing
这个作者很懒,什么都没留下…
展开
-
有趣的数据结构算法20——图的深度优先搜索(DFS)算法实现
有趣的数据结构算法20——图的深度优先搜索(DFS)算法实现DFS的实现方法利用c语言实现BFSGITHUB下载连接完成了广度优先遍历,还需要完成深度优先遍历噢!图的基本概念和广度优先遍历的方法可以看我的另一篇博文。https://blog.csdn.net/weixin_44791964/article/details/100038213DFS的实现方法深度优先搜索与树的先序遍历过程类...原创 2019-08-24 10:49:45 · 3246 阅读 · 0 评论 -
有趣的数据结构算法19——图的广度优先搜索(BFS)算法实现
有趣的数据结构算法19——图的广度优先搜索(BFS)算法实现图的基本概念1、有向图和无向图2、权值与网3、顶点的度4、邻接矩阵表示法BFS的实现方法利用c语言实现BFSGITHUB下载连接最近学习了新的数据结构,图,想到树也可以遍历,我就知道,最开始的图,也是需要遍历的!图的基本概念从各种数据结构上来看,线性表内包含的是1对1的关系,树包含的是1对多的关系,而图包含的是多对多的关系,一个图...原创 2019-08-23 16:08:58 · 2912 阅读 · 0 评论 -
有趣的数据结构算法18——马踏棋盘问题(骑士周游问题)的C语言实现(回溯法)及其解析
有趣的数据结构算法18——马踏棋盘问题(骑士周游问题)的C语言实现(回溯法)及其解析问题复述题目分析利用c语言实现马踏棋盘问题GITHUB下载连接马踏棋盘问题就是要求使用国际象棋的棋子马原创 2019-08-19 21:28:07 · 5352 阅读 · 2 评论 -
有趣的数据结构算法17——哈夫曼编码及其c语言实现
有趣的数据结构算法17——哈夫曼编码什么是哈夫曼编码哈夫曼编码过程举例线索二叉树的代码实现线索二叉树的初始化线索的串联全部实现代码GITHUB下载连接哈夫曼编码真的好复杂噢!!!!!!!什么是哈夫曼编码哈夫曼编码(Huffman Coding)是一种编码方式,是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全根据字符出现的概率来构造平均长度最短的码字。...原创 2019-08-16 02:47:39 · 4126 阅读 · 0 评论 -
有趣的数据结构算法16——线索二叉树的构建
有趣的数据结构算法16——线索二叉树的构建什么是线索二叉树线索二叉树的实现形式线索二叉树的代码实现线索二叉树的初始化线索的串联全部实现代码GITHUB下载连接深度遍历不仅仅有递归的方法噢,还有通过建立线索二叉树进行遍历的方法!什么是线索二叉树在二叉树的结点上加上线索的二叉树称为线索二叉树,本文所讲述的线索二叉树主要用于中序遍历。定义二叉树的时候,我们定义的每一个结点都是属于同一个结构体的...原创 2019-08-03 18:54:55 · 4318 阅读 · 0 评论 -
有趣的数据结构算法15——二叉树的先序遍历、中序遍历和后序遍历
有趣的数据结构算法15——二叉树的先序遍历、中序遍历和后序遍历遍历的种类深度遍历的实现先序遍历中序遍历后序遍历实现代码GITHUB下载连接创建完二叉树了,真的猛士就应该开始遍历了!遍历的种类二叉树是一种非常重要的数据结构。对于二叉树,存在深度遍历和广度遍历两种类的便利结构。深度遍历有前序遍历、中序遍历以及后序遍历三种遍历方法,广度遍历代表的是常见的层次遍历。对于深度遍历而言,结合树的...原创 2019-08-03 10:32:25 · 4396 阅读 · 0 评论 -
有趣的数据结构算法14——二叉树的构建
有趣的数据结构算法14——二叉树的构建什么是树队列的初始化入队出队实现代码GITHUB下载连接每天学习一点点,我就能变成马云哥哥的打工仔!什么是树树状图是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。其形状与树相似,具有许多分叉与分枝,它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;示意图如...原创 2019-08-02 21:42:39 · 2834 阅读 · 0 评论 -
有趣的数据结构算法13——队列的初始化、入队与出队
有趣的数据结构算法13——队列的初始化、入队与出队什么是队列队列的初始化入队出队实现代码GITHUB下载连接前两天出去玩了,过两天又可以去旅游了,回来还是要好好学习呀!新的结构又要出现了。我心里有点害怕,但是!什么是队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作...原创 2019-08-02 10:15:39 · 11896 阅读 · 0 评论 -
有趣的数据结构算法12——利用递归解决八皇后问题
有趣的数据结构算法12——利用递归解决八皇后问题题目复述解题思路实现代码GITHUB下载连接本次教程主要讲述如何利用递归解决八皇后问题,它和汉诺塔一样让人很难过。题目复述据说西洋棋手都具有一些比较神奇的技能,上厕所的时候还喜欢想怎么下棋,终于有一天,在刺激气体的刺激下,八皇后问题横空出世。这是一个古老而著名的问题,在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能...原创 2019-07-25 10:28:32 · 3922 阅读 · 0 评论 -
有趣的数据结构算法11——实现中缀表达式到后缀表达式的转换
有趣的数据结构算法11——实现中缀表达式到后缀表达式的转换解题思路实现代码GITHUB下载连接这是学习栈的最后一篇blog了,在上一篇博客里,讲述了如何利用栈计算后缀表达式的结果,但是谁会无缘无故用后缀表达式写一个式子在那里计算呢?这么仔细一想,岂不是……其实也不是完蛋,只要在写个程序完成中缀表达式到后缀表达式的转换即可。解题思路在上一篇博客里我已经简要介绍了什么是后缀表达式。还不了解的...原创 2019-07-24 20:20:03 · 2414 阅读 · 0 评论 -
有趣的数据结构算法10——后缀表达式(PRN)介绍及利用栈计算后缀表达式的结果
有趣的数据结构算法10——利用栈计算后缀表达式的结果解题思路实现代码GITHUB下载连接在前一天已经利用栈完成2进制到8进制的转换。但是栈的应用方面还有很多,本次我将讲解如何计算后缀表达式的结果。解题思路后缀表达式也叫逆波兰表达式,是在计算机中用于求值的一种方式,其求值过程可以用到栈来辅助存储。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,这种表示法也称为中缀表示,如1...原创 2019-07-24 18:53:10 · 5858 阅读 · 3 评论 -
有趣的数据结构算法9——利用栈完成2进制到8进制的转换
有趣的数据结构算法9——利用栈完成2进制到8进制的转换解题思路实现代码GITHUB下载连接刚学习完栈的我想试试栈都可以干嘛,于是找到了一个小应用,利用栈完成2进制到8进制的转换。如果大家还不清楚什么是栈、如何创建栈,可以关注我的博文https://blog.csdn.net/weixin_44791964/article/details/97029829解题思路利用栈完成2进制到8进制的...原创 2019-07-23 22:44:40 · 3329 阅读 · 0 评论 -
有趣的数据结构算法8——栈的初始化、入栈与出栈
有趣的数据结构算法8——栈的初始化、入栈与出栈什么是栈栈的初始化入栈出栈实现代码GITHUB下载连接新的结构又要出现了。我心里有点害怕,但是!什么是栈栈(stack)又名堆栈,它是一种运算受限的线性表。它的限定只可以在表尾进行插入和删除。进行操作的这一端被称为栈顶,另一端是栈底。向一个栈插入新元素又称作入栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈,...原创 2019-07-23 20:48:23 · 6885 阅读 · 4 评论 -
有趣的数据结构算法7——双向循环链表的实例应用
有趣的数据结构算法7——双向链表的实现问题复述头插法的实现尾插法的实现头插法实现代码尾插法实现代码GITHUB下载连接问题复述单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。其与顺序数组最大的不同在于...原创 2019-07-22 18:09:16 · 3585 阅读 · 0 评论 -
有趣的数据结构算法6——动态顺序表的建立
有趣的数据结构算法6——动态顺序表的建立本例子所用函数实现代码GITHUB下载连接本次教程主要讲述如何进行动态顺序表的建立。本例子所用函数#include <stdlib.h>//头文件void *malloc(size_t size);//malloc函数是一种分配长度为size_bytes字节的内存块的函数。//可以向系统申请分配指定size个字节的内存空间。//在...原创 2019-07-20 18:19:37 · 2027 阅读 · 0 评论 -
有趣的数据结构算法5——利用循环链表解决Josephus问题
有趣的数据结构算法5——利用循环链表解决Josephus问题题目复述解题思路实现代码GITHUB下载连接本次教程主要讲述如何利用循环链表解决Josephus问题。题目复述据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1...原创 2019-07-20 17:20:32 · 3135 阅读 · 1 评论 -
有趣的数据结构算法4——单链表插入元素、删除元素
有趣的数据结构算法4——单链表插入元素、删除元素单链表插入元素单链表删除元素实现代码GITHUB下载连接关于什么是单链表以及如何进行单链表的生成、遍历等操作大家可以关注我的另一篇博文《有趣的数据结构算法3——单链表尾插法和头插法的实现》。https://blog.csdn.net/weixin_44791964/article/details/95861300单链表插入元素单链表插入元素即在...原创 2019-07-19 16:42:49 · 5860 阅读 · 0 评论 -
有趣的数据结构算法3——单链表尾插法和头插法的实现
有趣的数据结构算法3——单链表尾插法和头插法的实现什么是单链表头插法的实现尾插法的实现头插法实现代码尾插法实现代码GITHUB下载连接什么是单链表单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。其与顺...原创 2019-07-14 11:26:53 · 4371 阅读 · 1 评论 -
有趣的数据结构算法2——快速排序
有趣的数据结构算法2——快速排序题目复述功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入题目复述数据排序算法是一类常...原创 2019-07-12 21:00:32 · 3148 阅读 · 2 评论 -
有趣的数据结构算法1——汉诺塔问题的C语言实现及其解析
汉诺塔问题的C语言实现及其解析题目复述题目分析功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入题目复述汉诺塔问题是一...原创 2019-07-10 00:46:34 · 4380 阅读 · 2 评论