![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构系列(SWUST OJ题解)(努力更新中)
文章平均质量分 57
詹小友
我变秃了,也变强了!!!
展开
-
SWUST OJ#1076(判断给定有向图是否存在回路)
目录题目拓扑排序的算法步骤代码部分小结题目拓扑排序的算法步骤求出所有顶点的入度,可以附设一个存放各顶点入度的数组indegree[] 遍历数组indegree[],如果有顶点的入度为零,便将顶点依次入队或者入栈 当栈或者队列不为空时,一直重复下面两个操作 1)进行出栈或者出队的操作,这里假设操作顶点为v 2)将与顶点v邻接的所有顶点的入度减一,如果出现入度为0的顶点,便进行入栈或者入队操作 4.若此...原创 2022-05-17 17:40:55 · 1018 阅读 · 0 评论 -
SWUST OJ#1070(邻接矩阵存储简单路径)
目录题目代码部分小结题目代码部分#include <iostream>#include <algorithm>using namespace std;int path[100], visits[100]; //前者储存路径,后者记录对应点是否已经被访问int map[100][100]; //储存邻接矩阵int k = 0, a, b, n; //记录路径长度void Find_Path原创 2022-05-15 10:51:46 · 1070 阅读 · 4 评论 -
SWUST OJ#982( 输出利用二叉树存储的普通树的度)
目录前言题目数据结构代码🥂(❁´◡`❁)您的点赞➕评论➕收藏⭐是作者创作的最大动力🤞前言想要做好这个题目,首先得明白二叉树与树之间是如何转化的,这里博主在这里浅说一下树是如何转化成二叉树的,先将树的兄弟节点用线连接起来,父节点若与其孩子节点有连线,我们仅保留其与最左孩子的连线,将其他的连线全部抹去,最后把结果,摆正一下,就得到了二叉树,过程如下图所示:所以我们可以发现由树转化成的二叉树有如下特点:根节点一定是没有右孩子的 普通树转化成二叉树之后,其节点的左孩子仍然.原创 2022-05-10 18:01:13 · 1141 阅读 · 5 评论 -
SWUST OJ#986(哈夫曼译码)
目录前言题目代码需更改的函数前言这种题目,简称老六题目,暂且应付考试好了~ 先复制粘贴题目源码,再改一个函数就可以a了题目代码const int maxvalue=100;const int maxbit=100;const int maxn=100;#include"iostream"#include"stdio.h"#include"stdlib.h"using namespace std;struct haffnode{.原创 2022-05-08 16:13:16 · 655 阅读 · 0 评论 -
SWSUT #1077(平衡二叉树的判定)
目录什么叫平衡二叉树题目数据结构代码什么叫平衡二叉树平衡二叉树又被称为AVL树(有别于AVL算法),具有如下性质的二叉树均可被称为平衡二叉树:二叉树为空树 若不为空树,每个节点的左右子树的高度差均不超过1,意思就是说,自己是一颗平衡二叉树的同时,左右子树也是平衡二叉树,左右子树的左右子树也是..........题目数据结构代码#include <iostream>#include <algorithm>using namespa.原创 2022-05-07 15:45:55 · 381 阅读 · 0 评论 -
SWUST OJ#1051(数据结构之输出利用先序遍历创建的二叉树中的指定结点的Child结点)
目录题目思路数据结构代码小结题目思路从根节点开始遍历,在节点不为空的前提下,进行类似与数学的分类讨论!!!接下来请各位看代码部分,有疑问评论区留言,有问必答!!!数据结构代码#include<algorithm>#include<iostream>using namespace std;//定义全局变量char zdy;//定义二叉树 typedef struct Node{ char data; Node* left,原创 2022-05-03 21:52:43 · 1132 阅读 · 3 评论 -
SWUST OJ#1063(数据结构之带权有向图计算)
目录前言引入题目数据结构代码小结前言引入上课总爱点头的小小怪下士题目数据结构代码#include <iostream>#include <algorithm>using namespace std;int maxn = -9999, minn = 9999;//定义全局变量//定义有向图struct Graph{ int arc[105][105]; int numvex;};//创建邻接矩阵储存有向图数据void原创 2022-05-03 10:39:03 · 292 阅读 · 0 评论 -
SWUST OJ#1099(希尔排序算法实现)
目录题目代码小结题目代码#include <iostream>#include <algorithm>using namespace std;int main(){ int len, i, j, n, a[10005]; cin >> len; n = len; for (i = 0; i < len; i++) cin >> a[i]; len /= 2; //设置增量 for (i = 0; ..原创 2022-05-01 10:40:30 · 674 阅读 · 0 评论 -
SWUST OJ#1060(数据结构之无向图的最大度计算)
目录前言引入题目数据结构代码小结前言引入首先和大家一句抱歉,这是为什么呢?(๑•̌.•̑๑)ˀ̣ˀ̣可以发现博主基本上所有的博客,都把各位当一个小白来教,因为我也是从小白走过来的,明白有一个人去引导的重要性,既然具备一定的能力,就应该要去承担一定的责任,我不会去像一些博客一样去直接把代码放上面,我认为如果要写的话,就认真去写,把大家讲懂的同时,我其实也收获许多,这是双向的,但是博主的时间却是有限的,所有我决定以后有关图或者其他的一些基本问题,我都会只附上数据结构的代码(最近在原创 2022-04-28 21:02:29 · 1067 阅读 · 0 评论 -
SWUST OJ#1010(折半查找的实现)
前言二分查找的原理大家可以回想一下高中数学中我们用二分法求函数的零点的思路!现在回到编程领域,我们要在一个升序的区间【left,right】,要中查找一个数find,遵循如下原则(mid=left+(right-left)/2)1.如果mid大于find,则下一次在区间【left,mid-1】中查找,因为f(mid)>find,所以查找区间的右边界right=mid-12.如果mid小于find,则下一次在区间【mid+1,right】中查找,因为f(mid)<find,所以查...原创 2022-04-27 10:56:35 · 1412 阅读 · 0 评论 -
【SWUST-数据结构】二叉树-笔记
目录前言定义二叉树二叉树的创建二叉树的遍历1.基于先序遍历建立输出二叉树的先序遍历序列2.基于先序遍历建立输出二叉树的中序遍历序列3.基于先序遍历创建输出二叉树的后序遍历序列统计利用先序遍历创建的二叉树的深度统计利用先序遍历创建的二叉树的宽度统计利用先序遍历创建的二叉树叶结点的个数统计利用先序遍历创建的二叉树的度为2的结点个数统计利用先序遍历创建的二叉树的度为1的结点个数统计利用先序遍历创建的二叉树中的空链域个数前言二叉树有三种...原创 2022-04-19 18:59:02 · 135 阅读 · 2 评论 -
SWUST OJ#1101(数据结构之顺序表中数据的循环移动)
目录题目代码数据结构解法STL解法题目题目描述设有长度为n(n>1)的顺序表R,将R中保存的序列循环左移P(0 < P < n)个位置,即将R中的数据由(x0,x1,…,xn-1)变换为(xp,xp+1,…,xn-1,x0,x1,…,xp-1)。如果p值不合法,输出“error!”。输入第一行为数据元素个数n; 第二行为n个整数; 第三行为要左移的位数p输出移动后的序列。代码数据结构解法#include <.原创 2022-04-18 12:31:00 · 435 阅读 · 0 评论 -
SWUST OJ#941(数据结构之有序顺序表的合并操作的实现)
题目题目描述已知两非递减的顺序线性表,要求合并成一个新的非递减顺序线性表。(测试数据为整型)输入输入包含四行,第一行为自然数n,表示第一个非递减顺序线性表的长度;第二行为n个自然数构成的非递减顺序线性表;第三行为自然数m,表示第二个非递减顺序线性表的长度;第四行为m个自然数构成的非递减顺序线性表。输出输出:用一行输出合并后的非递减顺序线性表,各数之间用一个空格隔开。思路创建三个顺序表,前两个顺序表用来存数据,然后逐个比较,小的数据就存入第三个顺序表原创 2022-04-17 18:34:04 · 384 阅读 · 0 评论 -
SWUST OJ#963(小偷的背包问题与递归讲解)
递归前言粽所粥汁,计算n的阶乘,斐波那契数列,汉诺塔问题,和二叉树,背包问题等,都可谓是递归的应用,经典之经典!那什么(๑•̌.•̑๑)ˀ̣ˀ̣是递归呢?看,这就叫递“龟”,这篇博客写完了,哈哈!好了(ง •̀_•́)ง,不开玩笑了,说正经的,为了让大家更好的理解,博主给大家讲一个故事吧!希望大家认真听~听懂了故事就弄懂了递归,从前有个小破站,站里有个新博主,新博主主动给大家讲故事,讲了什么故事呢?讲了从前有个小破站,站里有个新博主,新博主主动给大家讲故事,讲了什么故事呢?讲了从...原创 2022-04-12 19:41:20 · 1257 阅读 · 17 评论 -
前缀表达式,中缀表达式和后缀表达式的定义与联系(超详细)
目录前缀、中缀、后缀表达式前缀表达式前缀表达式的计算机求值中缀表达式后缀表达式后缀表达式的计算机求值中缀表达式转化为前缀和后缀表达式小结前缀、中缀、后缀表达式前缀、中缀、后缀表达式是对表达式的不同记法,其区别在于运算符相对于操作数的位置不同,前缀表达式的运算符位于操作数之前,中缀和后缀同理举例:中缀表达式:1 + (2 + 3) × 4 - 5前缀表达式:- + 1 × + 2 3 4 5后缀表达式:1 2 3 + 4 × + 5 -前缀表达式前原创 2022-04-03 01:46:06 · 4336 阅读 · 1 评论 -
SWUST OJ#1103(数据结构之删除顺序表中指定区间的数据)
目录题目思路代码题目题目描述建立顺序表L,将指定区间的数据从顺序表中删除。假设指定区间是合法数据,无序做合法性判断。测试数据为整型。输入第一行是表长n;第二行是表中数据元素;第三行是闭区间。输出删除以后的顺序表中的数据元素。样例输入1022 32 11 23 43 59 17 65 45 5710 20样例输出22 32 23 43 59 65 45 57思路思路一:每删除一个在区间的值,然...原创 2022-03-27 23:30:52 · 2779 阅读 · 0 评论 -
SWUST OJ#943(数据结构之顺序表插入操作的实现)
目录题目思路代码 数据结构 STL解法题目描述建立长度为n的顺序表,在指定的数据元素item之前插入数据元素data。如果指定的数据元素item不存在,则将data插入到顺序表的尾端。(数据类型为整型)输入第一行为顺序表的长度n;第二行为顺序表中的数据元素;第三行为指定的数据元素item;第四行为要插入的数据元素data;样例输入1010 20 30 40 50 60 70 80 90 1005055样例...原创 2022-03-26 09:35:28 · 2174 阅读 · 0 评论