![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
sakatagintoki~
这个作者很懒,什么都没留下…
展开
-
BFS求n阶幻方
BFS与DFS一样搜索n阶幻方的时间复杂度至少为O(n!),并且由于控制搜索状态的队列要储存每一个状态(state)节点,并且搜索幻方的数据规模较大,很容易造成内存溢出,当我在vscode中运行搜索四阶幻方时就发生了。(Java heap space),由此可见,用BFS求n阶幻方比DFS更加不现实。原创 2023-10-26 20:02:40 · 32 阅读 · 0 评论 -
中序遍历求翻转二叉树
我们假设当前节点为root,并且我们已经递归完root.left了,那接下来就会交换root.left与root.right,再接下来我们应该就要递归“原来”的root.right了,但由于root.left与root.right已经交换过位置,所以“原来”的root.right就是现在的root.left。直到我看到了某位仁兄写的中序遍历代码,才恍然大悟,问题不是出在思路上,而是代码的具体实现上,果然实践才能出真知啊!递归调用的都是当前节点的。原创 2023-10-26 20:12:22 · 57 阅读 · 0 评论 -
完全二叉树性质+递归求完全二叉树节点个数
这个位移运算符语句,2原创 2023-10-26 20:10:09 · 38 阅读 · 0 评论 -
DFS求n阶幻方
由于DFS是全遍历的、无信息的暴力搜索,所以该算法的时间复杂度为n阶矩阵的所有可能排列情况,也就是O(n!),其中n为矩阵的阶数。由于搜索时间过长,我花了四十五分钟才跑出来四阶幻方的一个解,所以用DFS解n阶幻方是完全不现实的。原创 2023-10-26 19:06:26 · 42 阅读 · 0 评论