自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 SWUSTOJ #1075 最小生成树

【代码】SWUSTOJ #1075 最小生成树。

2023-05-02 12:17:14 329 1

原创 SWUSTOJ #986 哈夫曼译码

它是通过出现概率(权值)来实现一颗哈夫曼树,出现频率最小的数在最下面,最高的在最上面,压缩了数据。由题目我们可以知道题目建立的哈夫曼树,然后我们在纸上画出来,写出每个字母的哈夫曼编码,直接打表。由此可见,我们要做这道题首先就是建一颗哈夫曼树,然后根据左0右1来查找。完成后,记得自己认认真真的去实现一遍哦。当然上述是标准的做法,但是。糊弄考试专用(bushi。

2023-05-02 12:13:56 828 5

原创 SWUSTOJ #1012 #1013 哈希表

两道题一个是用链地址法,一个的开放定址法,其实都差不多,这里我教大家一个取巧的方法。也就是说,如果你的链表是顺序输入,那么链地址法就是倒序查找,开放定址法就是顺序查找。用数组模拟链表,链地址法是尾插法,开放定址法就是头插法。的话,那就更没问题了,我直接放代码,大家找找不同吧。我在这里就不再赘述了,看OJ的题目吧。对于哈希表的解释,我推荐看这篇文章。

2023-05-02 12:05:45 202

原创 SWUSTOJ #980 输出利用先序遍历创建的二叉树的层次遍历序列

其实这道题也还可以用数组来做,每个父子结点的下标的满足二倍关系的,处理好下标表示就行,具体的实现方式,你们去摸索吧。好,时间到,对于这道题,我们可以考虑用二维数组来存储,是不是很熟悉?仔细审题,要求我们输出二叉树的层次遍历,思考一分钟,想想该怎么做。没错,在求二叉树宽度时,我们就是这样用的。

2023-05-02 11:55:30 567

原创 学链表,这一篇文章你可不能错过

链表是一种物理存储单元上非连续、非顺序的存储结构。数据元素的逻辑顺序是通过链表中的指针链接次序实现的。线性表的顺序存储结构缺点是每一次插入和删除元素,大量元素的移动会导致时间效率低下。为了改进顺序存储结构的缺点,引入链式存储结构,即为链表。我在这里讲实现链表的两种方法。1.用指针实现。2.用数组模拟链表。一,指针实现链表。我们先讲用指针来实现链表。1.创建链表.我们创建链表需要设置一个个结点,而这些结点由数据域和指针域构成,通过结构体讲之关联起来。

2023-03-29 22:50:33 66

原创 西南科技大学 SWUSTOJ #971-#979

我们从根结点出发,先输出该结点的数据,然后进入左孩子结点递归,进入左孩子结点后,我们将左孩子结点看作是根结点,然后输出该结点数据,再递归进入该节点的左孩子结点,tree *Lchild,*rchild;即不停的找左结点,直到不存在左孩子结点后,开始回溯,每回溯以此输出以此该结点的值,我这里主要讲二叉树的各种操作,至于二叉树的定义请看这篇文章。我们要知道二叉树有父结点,左孩子结点,右孩子结点,像这样。退回上一层递归,然后找右孩子结点,一层一层回溯。先读入一个符号A,这时创建结点A,

2023-03-16 00:10:27 578 2

原创 西南科技大学 SWUSTOJ #962

第四个元素“】”,这时我们就要判断栈顶元素是否能与“】”配对,如果能就将栈顶元素出栈,就像现在,我们拿到“】”,栈顶恰恰是“【”所以就将栈顶元素出栈继续下一次匹配,直到所有元素都遍历结束,最后判断栈是否为空,如果为空就可以匹配输出“yes”,否则就输出“no”题干非常短,题意也很清楚,问你括号是否能匹配的问题,通过分析样例我们应该第一反应就是用栈,通过栈来实现匹配消除问题。现在咱们就开始用代码实现,对了,对于栈可以用stl容器中的stack,更加方便。第一个元素是“【”,我们将它进栈,

2023-03-12 22:52:44 487 2

原创 西南科技大学 SWUSTOJ #956

相信大家看到这的时候基本都对链表有个了解了,上题咱们说两个单链表链接,这题其实本质上差不多,只不过变成了。咱们先审题,哦,是要求我们不停的在1-10中循环,一到k这个数就将其删除,再次循环,直到最后一个数。明白了这一点就简单了,直接依葫芦画瓢,先创建单链表(写了这么多遍了,我感觉闭着眼都能写出来。嗯,我们想想,啊,不用想了,题目已经告诉我们怎么做了,循环链表。欧克,就是这么多啦,这就是循环链表,就是将头和尾链接在一起。

2023-03-12 18:11:11 755 2

原创 西南科技大学 SWUSTOJ #954

看见没,这就是一个数组的解决方式,好了,现在已经结束了,什么?哈哈,没错,就这点,怎么样,神奇吧,咱们来看看完整代码。咳咳,言归正传,咱们来看这道题,要求将两个链表链接在一起,大家如果看了前几篇博客这道题对大家来说绝对非常轻松。当然如果你没有理解问题也不大,咱们这道题又不是只有这一个方法,咱们还可以用数组,来吧,咱们先用数组来做一遍。咱们定义好了后便开始输入数据,这步有些许不同,各位且仔细看。这里是第一个数组里的数据,别眨眼,接下来是见证奇迹的时刻。好,我相信大家想看多的,来,上硬菜。

2023-03-12 17:49:14 341

原创 西南科技大学 SWUSTOJ #953

欧克,咱们先审题,这题让我们删除第i个结点前面的结点,同样,咱们仍然有多个方法,数组,vector,还有正宗的方法----链表。通过上文,我相信大家一定自己去琢磨了怎么用数组来实现删除,所以这里我就不再赘述了,直接讲链表了。好,接下来自定义删除函数(真恶心,要写好多,伤心(bushi。芜湖,紧接上文,咱们讲了插入操作,那么肯定得有删除操作啦,这不就来了?到这里咱们已经算是解决所有问题啦,最后咱们再将代码其他部分补全即可。老规矩,要用链表首先就得创建一个链表,来吧,康康代码。好啦,开玩笑的,我为人民服务。

2023-03-12 16:27:12 377

原创 西南科技大学 SWUSTOJ #952

说实话,我刚看见这道题的时候还没学单链表,就想用其他方法来做。3.这第三那必然是咱们的链表了,说实话,我是很讨厌写这么长的,毕竟本人巨懒,懒到连return都不想写,if都写三目运算符。它自带的函数insert可以更方便的完成此操作,当然,时间复杂度仍然是O(n),只不过让我们少写几行代码。好了,上文所说的头插法不适用于该题,这题得用尾插法,我相信你们应该知道怎么写,对吧?行啦,我附上我的ac代码吧,希望能帮到你们。好了,言归正传,咱们要用链表就先创建一个链表。自此咱们的插入操作结束啦,嗯,想要答案吗?

2023-03-12 15:51:02 575 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除