- 博客(17)
- 收藏
- 关注
原创 数据结构之图的邻接矩阵存储
图的定义图是由顶点的又穷非空集合和顶点之间边的集合组成的们通常表示为G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
2022-05-30 20:03:29
375
1
原创 C语言实现N皇后问题
回溯算法实现N皇后问题完整代码实现#include<stdio.h>#include<malloc.h>#include<math.h>#define true 1#define false 0int num=0;int place(int* paraSolution,int paraT){ for(int j=1;j<paraT;j++) { if((abs(paraT-j)==abs(paraSolution[j]-paraS.
2022-05-26 16:57:28
760
1
原创 C++实现哈夫曼编码
文章目录思路相关功能实现结构体的定义函数申明读入文件统计次数展示次数创建哈夫曼树选择权重最小的两个节点创建哈夫曼编码将读入的文件编码,写到txt文件中读入编码文件,解码完整代码实现测试样例代码转自涂然哥,只做整理和略微修改思路1.输入一个字符串后统计每个字符出现的次数(频率)2.接下来按照规则构造一棵哈夫曼树3.然后01编码(即给每个字符赋予一个01组成的字符串)4.将我们输入的字符串按照编码规则生成01字符串5.解码:将字符串的01编码按照规则还原并输出相关功能实现结构体的定义
2022-05-26 16:01:47
7004
2
原创 数据结构之二叉树
文章目录一、二叉树的定义二、二叉树的性质三、相关代码实现1.结构体的定义:2.初始化3.判断队列是否为空4.结点入队列5.删除队列中第一个结点,并返回该结点。6.构造一个结点7.核心函数将一个字符串转化为二叉树8.四种二叉树遍历方式的实现9.测试函数四、完整代码实现五、样例输出六、写在最后二叉树这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明一、二叉树的定义二叉树是树形结构的一种,它的特点是每个结点最多有两个子树,并且它的子树有左右之分。二、二叉树的性质1.非空二叉树上叶子结点
2022-05-23 20:21:41
579
3
原创 数据结构之矩阵
文章目录一、矩阵乘的计算1.结构体的定义:2.初始化3.数组初始化4.数组中数据打印5.核心矩阵乘计算。6.测试函数7.具体代码实现8、样例输出二、压缩栈的转置矩阵乘这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明一、矩阵乘的计算矩阵乘这里定义了两个结构体,一个采用动态分配空间,数组长度不定,一个采用静态分配空间。1.结构体的定义:/*动态分配大小*/typedef struct TwoDArray{ int row; int col; int** el
2022-05-19 17:00:55
653
1
原创 数据结构之循环队列
文章目录一、循环队列结构体的定义:二、相关操作实现1.初始化2.依次对栈中的每个数据元素输出3.进队列4.出队列5.链队列中元素个数6.测试函数7.具体代码实现三、样例输出四、写在最后循环队列这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明一、循环队列循环队列就好比我们乘坐公交车,当我们上车发现车后面坐满了而前面还有空座的时候,肯定不是说下车等下一俩,而是后面没座了那我就坐前面呗,循环队列解决的就是这样一个问题。因此我们将队列头尾相接的顺序存储结构称为循环队列。先来定义循环队列的结
2022-05-16 21:45:35
2055
3
原创 数据结构之队列的链式存储
文章目录一、队列的链式存储结构结构体的定义:二、相关操作实现1.初始化2.依次对栈中的每个数据元素输出3.进队列4.出队列5.链队列中元素个数6.测试函数7.具体代码实现三、样例输出四、问题回答五、写在最后队列的链式存储这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明一、队列的链式存储结构队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出,我们把它简单称为链队列。为了操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指向终端结点。空队列时,我们将队头指针和队尾指针都
2022-05-16 17:22:44
5032
2
原创 递归的应用
文章目录一、累加求和的递归实现1.核心函数2.完整代码实现3.样例输出二、汉诺塔问题1.解题思路2.核心函数的实现3.完整代码实现3.样例输出三、写在最后摘要:我们把一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称作递归函数。一、累加求和的递归实现1.核心函数当所计算的数大于0时,一直递归调用函数,直到值小于0时返回0然后结束int addTo(int paraN){ int tempSum; if(paraN<=0) { retur
2022-05-11 20:24:33
306
3
原创 数据结构之栈的顺序存储结构及其应用
文章目录栈的顺序存储解题思路结构体的定义:相关操作实现初始化依次对栈中的每个数据元素输出进栈(push)出栈(pop)新增操作栈中元素个数具体代码实现样例输出栈的应用之括号匹配匹配函数样例输出写在最后栈的顺序存储这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明解题思路栈是仅能在表尾进行插入和删除操作的线性表,遵循先进后出。先来定义结构体变量,它类似于顺序表,不过结构体中记录长度的变量改为top来记录栈顶,具体定义如下结构体的定义:typedef struct CharStack{
2022-05-10 17:02:55
2115
3
原创 数据结构单链表的应用之多项式求和
文章目录多项式求和解题思路结点的表示方法:相关操作实现初始化依次对静态链表中的每个数据元素输出在链表尾插我们需要计算的数据核心求和函数新增操作排序函数链式存储的代码实现样例输出写在最后多项式求和这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明解题思路要计算多项式的和,首先需要用链表创建两个或多个多项式,每个节点有两个数据:系数和指数;其次,如果要实现乱幂输入,那么还需要一个排序函数;然后就是多项式相加求和的部分,当指数相等时其系数相加,如果不相等那么就需要比较大小,依次存入新的链表;最后
2022-05-05 17:48:01
3236
1
原创 数据结构之静态链表
文章目录静态链表静态链表的定义静态链表的相关操作实现初始化依次对静态链表中的每个数据元素输出一个手动实现“内存分配”在静态链表中指定位置之前插入新的数据元素一个手动实现“内存释放”删除静态链表中指定位置的数据元素新增操作返回链表中元素的个数返回指定位序的值返回第一个满足指定数据元素的位序整表删除链式存储的代码实现样例测试输出静态链表的优缺点写在最后静态链表这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明静态链表的定义静态链表实际上就是用数组代替指针描述单链表,数组的元素都是由两个数据域组
2022-05-02 20:49:45
1300
3
原创 数据结构之双向链表
文章目录线性表的链式存储结构(双向连边表)单链表的定义双向链表的相关操作实现初始化依次对单链表中的每个数据元素输出在双向链表中指定位置之后插入新的数据元素删除线性表中指定的数据元素新增操作返回链表中元素的个数返回指定位序的值返回第一个满足指定数据元素的位序整表删除双向链表的代码实现样例测试输出双向链表相对于单链表的优缺点写在最后线性表的链式存储结构(双向连边表)这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明单链表的定义n个结点链结成一个链表。每个结点由数据域和指针域两部分组成,在此处我
2022-05-02 11:13:53
611
2
原创 数据结构之线性表的链式存储2.0
文章目录线性表的链式存储结构(单链表)单链表的定义单链表的相关操作实现初始化依次对单链表中的每个数据元素输出在单链表中指定位置之前插入新的数据元素删除线性表中指定的数据元素尾插的实现新增操作返回单链表中元素的个数头插的实现整表删除链式存储的代码实现样例测试输出链式存储的优缺点写在最后线性表的链式存储结构(单链表)这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明单链表的定义n个结点链结成一个链表。每个结点由数据域和指针域两部分组成,在此处我们之研究结点只含一个指针域的链表,即单链表。
2022-04-27 21:14:23
1638
4
原创 数据结构之线性表的链式存储
文章目录线性表的链式存储结构(单链表)线性表的定义单链表的相关操作实现基础宏定义基本结构体初始化依次对单链表中的每个数据元素输出返回单链表中元素的个数在单链表中指定位置之前插入新的数据元素删除线性表的指定位置的数据元素返回单链表中第一个与指定数据相符的数据的位序返回指定位置的值将单链表重置为空表头插法的实现尾插法的实现链式存储的代码实现样例测试输出链式存储的优缺点写在最后线性表的链式存储结构(单链表)这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明线性表的定义n个结点链结成一个链表。每个
2022-04-27 20:52:45
729
原创 数据结构之线性表2.0
文章目录线性表的顺序存储线性表的定义顺序存储的相关操作实现基本结构体初始化依次对线性表的每个数据元素输出返回线性表中元素的个数在线性表中指定位置之前插入新的数据元素,线性表的长度加1删除线性表的指定位置的数据元素返回线性表中第一个与paraValue满足关系的数据元素的位序返回指定位置的值将线性表重置为空表顺序存储的代码实现样例测试输出顺序存储的优缺点写在最后线性表的顺序存储这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明线性表的定义线性表的顺序存储结构,指的就是用一段地址连续的存储单元
2022-04-25 21:40:23
384
原创 数据结构之线性表
文章目录线性表的顺序存储线性表的定义顺序存储的相关操作实现初始化依次对L的每个数据元素输出返回线性表L中元素的个数在L中第i个位置之前插入新的数据元素e,L的长度加1删除L的第i个数据元素,并用e返回其值返回L中第1个与e满足关系的数据元素的位序。返回指定位置的值将L重置为空表将所有的在线性表Lb中但不在La中的数据元素插入到La中顺序存储的代码实现样例测试输出顺序存储的优缺点线性表的顺序存储这里是数据结构个人学习的笔记记录,如有问题欢迎指正说明线性表的定义线性表的顺序存储结构,指的就是用一段
2022-04-25 20:13:22
680
2
原创 算法笔记之二分法
算法笔记之二分法二分法是一种在每一次比较之后将查询空间一分为二的算法。时间复杂度为O(log(N)),空间复杂度为O(1)leetcode例题模板一 基础二分查找1.给定一个数组nums,和目标查找的数字target,请编写一个函数返回目标数字的小标,如果没有则返回-1。int search(int *nums,int numsSize,int target){ int left=0,right=numsSize-1,mid; while(left<=right
2022-04-25 09:14:14
204
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人