
Linux C一站式学习
文章平均质量分 86
坂田1Giao
这个作者很懒,什么都没留下…
展开
-
tst12_5_1
因为探索完A层即可弹出探索下一层B, 只需要最宽一层满足,其他层级都满足。环形队列的最少元素数量,即为时序上最宽出元素数量即可。环形队列的检测和空队、满队的测试警告用数量标记法。为了检验该想发,编写程序验证即可。全程没有警告,OK成功。原创 2023-03-21 16:03:13 · 133 阅读 · 0 评论 -
tst12_4
根据eg12_3 的写法,会不停的push() pop(), 最后达到终点时整个stack 完全是空的。我个人写法里并未直接弹出,但是stack内的元素都是,完全连续的,不需要指针跳转。既然stack里面没有元素,怎么用指针成员获取前趋点呢?从上到下,从左到右,累计右多少个节点,即为最少需要的空间。为什么12.3 的例题 不能用一个指针成员表示前置?先附上图,很直接的可以计算出queue需要多少的空间。也就是和最短路径,以及分岔路的数量有关。原创 2023-03-21 16:04:47 · 124 阅读 · 0 评论 -
eg12_4
看书上为啥广度优先算法需要用到队列?可能还是很迷糊详细讲解或推到一下,广度优先为什么要用到队列。原创 2023-03-21 16:04:00 · 166 阅读 · 0 评论 -
eg_12_5
环形队列,实现以及警告处理原创 2023-03-21 11:05:08 · 167 阅读 · 0 评论 -
test_12_3_4
打印全部路径根据上一个问题,这里还是采用堆栈比较好,纯递归太繁琐了。原创 2023-03-17 18:30:11 · 190 阅读 · 0 评论 -
test_11_6
由于 n % 2 只有两种结果,当n%2 == 1 时,power(x, 1) = 1, 当 n % 2 == 0 时, power(x, 0) = 1;, 并且需要n 越来越小, 那么就可以需要 n = n / 2, 复原时用 mypow(x, n/2) * mypow(x,n/2)即可。很明显是发生了倒序导致的,循环会把先出来的值一点点左移进位,而余数实际上是从低位到高位出来的,所以发生了错误,, 思考一下如果n不是2的正整数幂该怎么办, 并分别用循环和递归实现该算法。, 以此类推该算法的复杂度为。原创 2023-03-15 11:29:08 · 174 阅读 · 0 评论 -
test_8_3_2
递归等价于循环,所以必须有个base case,也就是说递归必须有个输入作为判断条件.将当前正在经行交换的序号 n 作为输入,如果没到最后一个,就挨个交换,到了最后一个就直接打印数组,返回即可。这个题目咋一看,确实写不来,但是没关系吗,可以换个简单思路再去试一试、理论上递归与循环是等价的,用循环的方式先试一试。很明显依旧有影响,目标是打印后接触者一层的交换,保留更上的递归层不变,所以采用递归交换后反向交换。开始,中间的交换过程对最终产生了影响,所有要消除这个问题,即在打印后要将数据复原,原创 2023-03-15 11:28:33 · 108 阅读 · 0 评论 -
test_12_3_3
问题就出在回溯的最后一步,他会把死区入口点也当作死区,导致这个问题的源头在于我手动将死区终点赋值为1,打断了递归,相当于在死区内又用另外一个递归。这个地图比较奇怪的一点是走到了死区终点,居然在整个大死区内还有一个未访问点,安装前进与回溯的要求,回溯部分区域后会再次访问未访问点。设置这个迷宫图是因为死区终点情况最复制,可以从4个方向返回,但是为了包装回溯的正确性,必须是。只有当前这点为0,周围要么到了边界,要么非0,那么就置当前点为死路顶点。,同时得到的第二个信息,前进是顺时针,回溯就是逆时针。原创 2023-03-15 11:20:56 · 102 阅读 · 0 评论 -
一站式学习C编程
Linux C一站式学习,习题思路详解原创 2023-03-14 13:02:41 · 328 阅读 · 0 评论