- 博客(59)
- 资源 (4)
- 收藏
- 关注
原创 数据结构题集-第三章-栈和队列-有表长的循环队列
为顺序存储的循环队列加上表长域并去掉指向表头的指针,就能充分利用存储空间的每一个单元,而代价只是根据表长来判断表空或表满,只要随时维护表尾和表长,出队列的时候,很容易计算表头位置。
2024-12-14 10:43:02
736
原创 数据结构题集-第三章-栈和队列-循环队列元素的标志域
通常顺序存储的循环队列,其中的尾指针指向队列尾元素的下个位置,头指针和尾指针相同时为空,尾指针下个位置是头指针就为满,这样会浪费一个空间,通过设置标志位可以有效避免空间的浪费,在队列容量较小且队列中元素很大时有用。
2024-12-13 16:40:05
759
原创 数据结构题集-第三章-栈和队列-循环链表队列
用一个队尾指针访问带头结点链表表示的队列,实现了初始化队列、入队、出队、打印队列的内容以及最后销毁队列,并提供随机测试进行队列相关操作。
2024-12-12 14:45:47
208
原创 数据结构题集-第三章-栈和队列-Ackerman函数
从递归算法到非递归的栈和循环程序,非常复杂和耗时,本文从一个简单的分段函数开始,逐步发现简单的递归竟然需要如此大的栈空间和这么久的处理时间,可见分析和改善递归为非递归,有利于对算法和程序规模的了解、控制和优化。
2024-12-11 14:42:58
896
原创 数据结构题集-第三章-栈和队列-递归和非递归
递归函数往往可以简化代码并清晰易读,消除递归常常需要使用循环和栈,有利于代码的调试和分析,并且防止无限循环或未知空间的占用、让程序达到可控,本文简要解析了递归和非递归,并能运行和测试。
2024-12-10 14:29:54
1021
原创 数据结构题集-第三章-栈和队列-逆波兰式转化为波兰式
判断给定的非空后缀表达式是否为正确的逆波兰式,如果是,就将其转化为前缀表达式,本文不仅随机生成了符合要求的测试,还计算了包含浮点数运算的值,最后提供了转化为波兰式的算法,相关计算都是基于不同类型的栈空间和相关操作。
2024-12-09 14:58:18
861
原创 数据结构题集-第三章-栈和队列-逆波兰式求值
在上次求得表达式的逆波兰式基础上,进一步求得对数字作四则运算的值,测试例子是随机生成的,并对照计算器的运算结果进行验证。
2024-12-08 10:40:39
399
原创 数据结构题集-第三章-栈和队列-改变区域的颜色
改变图片内相邻同色区域的颜色,测试算法使用了最简api,力求做到精准,在保存到图片的阶段,没有调用更多的库,用GetPixel实现了最后的测试,对速度有很大影响,但是完全符合测试该算法的要求,随机证明了算法的稳定,由于效果出乎意料,仍在寻找它的缺陷。
2024-12-06 20:06:50
1162
原创 数据结构题集-第三章-栈和队列-开闭括号是否配对
在判别表达式中开闭括号是否匹配的过程中,如果只有一种括号,可以直接通过计数来判别;如果有多种括号,就需要借助栈来让每类每组开闭括号一一对应。
2024-12-05 10:34:55
375
原创 数据结构题集-第三章-栈和队列-车厢调度
用只含'H'或'S'的字符串模拟火车车厢的状态,在串结束之前,遇到硬席先入栈不出,遇到软席一进栈就出,当所有软席都出去以后,再将栈内的硬席逐一出栈完成调度。
2024-12-03 11:24:26
205
原创 数据结构题集-第三章-栈和队列-顺序存储双向栈
在一维数组的存储空间中,分别从低端和高端开始,记录双向栈,设计了初始化、入栈和出栈的方法,并能随机测试。
2024-12-02 13:00:26
463
1
原创 数据结构题集-第二章-线性表-求稀疏多项式的差
定义好了稀疏多项式的顺序存储结构,并排序和去重,这之后多项式的运算就变得简单,求稀疏多项式的差也很好理解,从小到大,遇到指数相同就让系数相减,包括系数为0减系数非0的情况,最后处理表长超出的部分就可以了。
2024-11-28 12:19:01
578
原创 数据结构题集-第二章-线性表-求稀疏多项式的值
随机构造了排序后的稀疏多项式,合并了指数相同的项,提供未知数的值,用两种方法计算多项式的值,结果是相同的,算法的时间复杂度也符合要求。
2024-11-27 11:30:45
988
原创 数据结构题集-第二章-线性表-双向循环链表的访问频度
每次访问双向循环链表,同时记录对其中结点的访问频度,并按照访问频度的大小整理链表中结点,使访问频度高的排在离头结点近的位置。
2024-11-26 08:51:00
356
原创 数据结构题集-第二章-线性表-双向循环链表的改造
从双向循环链表的头结点next出发,先链接奇数位置的所有结点,再从最大奇数位置找到最大偶数位置,继续链接所有偶数位置结点直到第2个位置,正向链接完成后,根据所有next值重构所有pre值,完成双向循环链表的改造。
2024-11-25 10:09:59
1008
2
原创 数据结构题集-第二章-线性表-异或指针双向链表的删除
在异或指针双向链表中删除指定位置的结点,结点在最左或最右的位置都可以分别处理提前完成删除,若结点在中间,只要找到了它的前驱和后继,就可以同步更新它们的结点指针,此后可以成功释放待删结点。
2024-11-24 09:29:02
877
1
原创 数据结构题集-第二章-线性表-异或指针双向链表的插入
除了在异或链表的一端插入结点,还尝试了在异或链表的中间指定位置插入,每次在中间插入成功后,新结点前后一共三个到五个元素都是可寻址的,即表示算法是可行的。
2024-11-23 13:22:11
1027
原创 数据结构题集-第二章-线性表-异或指针双向链表
为了测试异或指针双向链表的算法,对应于新的结构,重写了创建结点、简单插入以及销毁链表的方法;经测试,只用一个指针域,从左往右和从右往左打印链表的内容,没有发现问题。
2024-11-22 12:02:55
765
原创 数据结构题集-第二章-线性表-从线性链表分拆到循环链表
有一个无头结点的链表,其中的元素数据都是字符,将字符分类为字母、数字和其他,分别插入到三个无头结点的循环链表里,最后让循环链表释放开辟的空间。
2024-11-21 10:35:50
257
原创 数据结构题集-第二章-线性表-单向循环链表改双向
已知有pre指针域的单向循环链表,pre一开始为空,遍历循环链表的同时,为pre赋值,使链表成为双向循环链表。
2024-11-20 12:18:49
356
原创 数据结构题集-第二章-线性表-单循环链表中的前驱
设计了和单向循环链表有关的基本操作,删除其中某结点前驱的任务完成后,可以安全释放表中其余的结点。
2024-11-19 09:31:47
291
原创 数据结构题集-第二章-线性表-从单链表中删除另两表的交集
已知A,B和C为三个递增有序的单链表,从A中删去B和C的交集,释放A表中的无用结点空间,维护相应的表长和表尾,提供随机测试和人工输入数组测试,并计算时间复杂度。
2024-11-18 08:10:23
741
原创 数据结构题集-第二章-线性表-有序未去重单链表的交集
已知两个其中元素有重复的有序单链表,求它们的交集,要求不开辟新的空间,交集仍然有序且没有重复元素,本题应注意的是随时维护链表内指针的指向,以方便最后完全释放。
2024-11-16 09:48:59
300
原创 数据结构题集-第二章-线性表-有序未去重顺序表的交集
对于两个顺序存储且有重复元素的线性表,可以用其中一个表作为保存结果的空间,求它们有序的交集,且交集内没有重复的元素,由于没有其它空间做辅助,很大地增加了本题难度。
2024-11-15 14:48:42
582
原创 数据结构题集-第二章-线性表-递减归并两递增单链表
已知两个元素按递增排列的线性表A和B,合并后的线性表C,其中元素按递减排列,实现的同时,进行合理的测试。
2024-11-11 19:31:16
192
原创 数据结构题集-第二章-线性表-两单链表合并
初步探索了两单链表的合并,在测试过程中发现有退不出的无限显示,系统和编译程序并没有提示错误的出处,具体原因有待进一步测试。
2024-11-10 00:14:10
647
原创 数据结构题集-第二章-线性表-删有序单链表的连续子序列
在事先建好的有序单链表上,根据测试提供已知的范围找到待删的区间,要么快速通过,要么维护删除后链表结构发生的变化。
2024-11-06 22:15:09
346
用C++编写的计划和闹铃代码
2010-12-02
用JavaScript编写黑白棋
2018-02-25
用Java模拟自适应增量调制
2020-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人