算法
文章平均质量分 71
collagen_new
啦啦啦啦啦
展开
-
Morris 中序遍历、递归 、迭代中序遍历代码
Morris 中序遍历Morris 遍历算法整体步骤如下(假设当前遍历到的节点为 x):如果 x 无左孩子,先将 x 的值加入答案数组,再访问 x 的右孩子,即x=x.right如果 x 有左孩子,则找到 x 左子树上最右的节点(即左子树中序遍历的最后一个节点,x 在中序遍历中的前驱节点),我们记为 predecessor。根据 predecessor的右孩子是否为空,进行如下操作。2.1 如果 predecessor 的右孩子为空,则将其右孩子指向 x,然后访问 x 的左孩子,即 x=x原创 2021-07-06 15:02:02 · 277 阅读 · 0 评论 -
2021-05-31
https://zhuanlan.zhihu.com/p/78220312动态规划问题(Dynamic Programming)应该是很多读者头疼的,不过这类问题也是最具有技巧性,最有意思的。本书使用了整整一个章节专门来写这个算法,动态规划的重要性也可见一斑。刷题刷多了就会发现,算法技巧就那几个套路,我们后续的动态规划系列章节,都在使用本文的解题框架思维,如果你心里有数,就会轻松很多。所以本文放在第一章,来扒一扒动态规划的裤子,形成一套解决这类问题的思维框架,希望能够成为解决动态规划问题的一部指导方针。转载 2021-06-01 14:16:06 · 120 阅读 · 0 评论 -
分治法
分治法:转自:https://segmentfault.com/a/1190000038845696分治算法(divide and conquer)是五大常用算法(分治算法、动态规划算法、贪心算法、回溯法、分治界限法)之一,很多人在平时学习中可能只是知道分治算法,但是可能并没有系统的学习分治算法,本篇就带你较为全面的去认识和了解分治算法。在学习分治算法之前,问你一个问题,相信大家小时候都有存钱罐的经历,父母亲人如果给钱都会往自己的宝藏中存钱,我们每隔一段时间都会清点清点钱。但是一堆钱让你处理起来你可能转载 2021-05-25 15:08:14 · 386 阅读 · 0 评论