算法
文章平均质量分 61
Moyiii
Simplify the knowledge and deepen your mind.
展开
-
关于深度优先遍历和广度优先遍历的一些深入思考
之前关于深度和广度优先遍历觉得算是比较简单的东西了,特别是深度优先遍历,用递归实现起来几乎是非常自然的,然而最近进行了一些思考探索,仍然有一些非常有意思的点,不论是从实际应用,还是优化方向。由于线性结构遍历比较朴素就不讨论了,这里主要针对图和树两种模型来探讨。深度优先遍历还是广度优先遍历从结果上看,二者都是遍历整个关联结构,而且时间复杂度都一样,跟对象群的规模呈线性关系, 没有太大的影响,但过程上还是有些差别。我们先来聊下深度优先遍历深度优先遍历有递归和非递归的写法,对于递归来说,它的代..原创 2022-03-04 16:46:20 · 2058 阅读 · 2 评论 -
图像漩涡特效,扭曲特效,Swirl算法思想
所谓的扭曲特效就是这样的:在网上直接搜漩涡算法什么的,也没有搜到,可能是我不知道怎么搜索关键词吧,最后终于找到一个生效的代码,研究了一下之后,把简单算法原理总结在这。其实这个算法挺仿生的,核心在于了解漩涡的特点是什么?是流速,距离漩涡中心和边缘的旋转速度是不同的。之前考虑了各种什么二维坐标转一维坐标,再把一维坐标映射在螺旋线上。想复杂了,也不知道怎么实现,也不知道是否有用。其实算法核心就是以漩涡为中心,对图片进行旋转,只不过旋转量不同。你观察图片也发现,越靠近中心,扭曲(旋转)越大。原创 2021-08-11 13:47:33 · 901 阅读 · 0 评论 -
二叉树的层次遍历
很多同学在学习二叉树的过程中,最先接触的是二叉树的先序、中序以及后序遍历,但是遇到层次遍历的时候,就不知道怎么下手了,这里就教大家怎么样去实现树的层次遍历二叉树的结点定义:struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NU...原创 2019-11-08 15:41:39 · 167 阅读 · 0 评论