
数据结构与算法
文章平均质量分 78
在校期间,大二一整年学习数据结构和算法的总结和思考
小熊要努力刷题!
这个作者很懒,什么都没留下…
展开
-
算法分析与设计——动态规划复习题(待更新
算法分析与设计——动态规划复习题(待更新原创 2025-04-21 20:53:07 · 971 阅读 · 0 评论 -
每日一刷——12.10——学习二叉树解题模式(二)
我的感觉是同父亲还好搞一点,感觉是在遍历到每一个节点的时候,就把它的左孩子的next指针指向自己的右孩子,但是5和6之间应该咋搞比较好?我知道了,找到自己的next指向的节点,然后把它的左孩子给自己的右孩子的next。感觉可以浅浅鼓励一下自己哈哈哈,就素这样的思想,那么我们现在就要考虑咋写代码,由于我们要知道这是一个递归,我们按照什么逻辑能统一每一个节点要做的事。今天太晚了,明天再来这里详细写一下这个代码的思路!每个方框节点里边的两个圆圆节点,把他俩连接起来,好的,那么问题来了,怎么写代码?原创 2024-12-10 21:33:04 · 340 阅读 · 0 评论 -
每日一刷——12.10——学习二叉树解题模式(1)
我漏掉了一个细节,就是我以为是,拿最后一层举例啊,就是我以为是,不是最右边的换到了最前面嘛,我就以为是一口气移动过去的,哎呀,这样就忽略了一些节点的关联性,找到递归的思想,想一想是不是每一层都做了同样的事,我的思路就感觉还是停留在如何能在我可预见的一个情况下,解决这个问题,导致思路很窄,很局限,没有全局性。上面那一点说的也不对,确实是和旁边的交换,但是第一个咋办,那不就不能交换了,而且还有一点就是如何拿到旁边的节点呢,所以我还是没总结对。每一个节点把它的两个子节点交换位置!自己的思路终于对了,素的,就是。原创 2024-12-10 20:40:51 · 633 阅读 · 0 评论 -
每日一刷——二叉树——12.09
拿到这个题目,我首先想到的是利用队列来模拟,给我二叉树的根节点,然后我来返回每一层的各个节点,但是为啥我甚至觉得这个题目给的输入就是按照层序遍历来给的呢?往下不断递归,上一层应该是下边两层里边的最大值的深度+1,也就是说这个int的位置放在,左右都求完深度之后,又回到了自己这里,然后深度+1。由于先进先出,取出一个节点之后,就再往里边添加它自己的左右孩子,这样左右孩子的顺序还是在本层节点的后边,但是在下一层其他节点的前面。2.那么res什么时候使用,就是当判断到自己什么时候是空了,自己空了,就更新这个值。原创 2024-12-10 15:41:54 · 884 阅读 · 0 评论 -
每日一刷——1205——二分搜索——在D天内送达包裹的能力
所以把days初始值改为1就对了,因为至少要搬运一次,所以一次搬完的话,if条件进不去days不会++,所以原来就导致搬了一次但days=0,所以把days初始值改为1,就对了。测试了一下,发现肯定是最上面那个f函数写错了,大家可以发现days搞错了,最开始的一天没计算进来,所以搞错了,我每次都这样,真服了。3.f(x) :运完的天数----->所以这里需要和weights进行比较,然后返回具体运完的时间,和上一题思路差不多我觉得。最大载重和最小载重搞错了哈,我把上一题的思路原封不动搬过来了,可恶。原创 2024-12-05 15:12:33 · 307 阅读 · 0 评论 -
每日一刷——10.14——括号匹配(手写栈来实现)
问题描述】设计一个算法判别一个算术表达式的圆括号是否正确配对【输入形式】一个以@为结尾的算术表达式【输出形式】若配对,则输出圆括号的对数;否则输出no【样例输入】【样例输出】2【样例说明】共有两对括号,输出2。原创 2024-10-14 21:44:00 · 331 阅读 · 0 评论 -
每日一刷——9.23——数据结构——栈与队列(2)
(当然,我觉得你也可以把返回值变成 T ,这样直接把看到的结果用一个变量返回出去,写成 T getTop() ,但是这样没有bool getTop(T& x)严谨吧,毕竟别人有判断你到底看到了没有,用了一个bool值)返回值与出栈顶元素一样,都是bool,你到底看没看这本书啊,看到了就是true,没看到就是false。同样,如果你一直放书,肯定会有一天是箱子放满的情况,所以需要有一个函数来判断究竟你有没有把箱子放满。(今天的函数实现都挺简单的,明天把一些让这个栈更加完善,功能更安全的函数写一下)原创 2024-09-24 22:08:36 · 460 阅读 · 0 评论 -
每日一刷——9.23——数据结构——栈与队列(1)
好久都没来了,实在是每个星期只有三节或者四节空课,忙死了,不过以后一定不能鸽了,我会坚持的,所以话不多说,我们今天来用代码实现栈,今天写不完的会放到明天 上一章,我们学习了线性表,线性表与其他数据结构比如图、树,最大的区别就在于:而像线性结构这样一对一的线性表,又衍生出来了多种类似但又不一样的数据结构:栈,队列,优先级队列,双端队列栈其实可以理解为一个空盒子,我们从盒子的开口往里边放书籍,也可以从盒子的开口处往外拿书籍,但是我们却不可以从盒子的底部拿书,这样是不符合常理的,理解了栈大概是什么样原创 2024-09-23 22:04:04 · 574 阅读 · 0 评论