求树中每对节点间距离的O算法的递推关系,怎么处理

求树中每对节点间距离的O算法的递推关系,怎么处理,第1张

距离最远的两个节点就是深度最深的两个叶子结点。

我们可以对整个二叉树进行一次遍历,记录每个节点的深度,最远的两个节点一定是两个叶子节点。我们只需要在遍历过程中找到两个深度最深的叶子节点。那么这两个节点的距离就是最远的。整个算法的时间复杂度是O(n),可以期望很快就能找到这两个相距最远的节点。

1:排出一个版,包含上下切换的标识和导航,所有隐藏,给第一张加一个class名,样式设为显示,导航的第一个加一个class名,加上背景色;

2:获取节点;

3:给向下切换写一个点击事件,点击切换到下一张,注意当切换到最后一张的时候会报错,所以必须要判断一下,当切换到最后一张的时候在,再次击会切换到第一张;

4:给向上切换写一个点击事件,注意当切换到第一张之后会报错,所以必须要判断一下,当切换到第一的时候,再次点击会切换到最后张,循环起来;

5:写一个定时器,定时器的播放顺序和向下切换一致,可以封装一个函数方便调用;

6:写鼠标划入事件,清除定时器;

7:写鼠标移出事件,定时器继续运行;

8:导航的点击事件

点击事件click

定时器setlnterval()

if判断

for()循环

1 通过unicreateSelectorQuery() 来实现,

注意:要获得的高度,是在页面上dom已经渲染完成之后才能获得

我使用的是页面生命周期  onReady()中调用的

                let _this = this;

                const query = unicreateSelectorQuery()

                 queryselect('#tab')boundingClientRect()

                   queryselectViewport()scrollOffset()

                    queryexec(function(res){

                        debugger

                       // res[0]top      // #tab节点的上边界坐标

                        // res[1]scrollTop // 显示区域的竖直滚动位置

                        _thisheight=resuwindowHeight-res[0]top +'px'

                        consolelog('高度',res[0]height);

                        consolelog('demo的元素的信息',res);

                    })

我是用于实现页面滚动后把列表的导航条吸附在顶部,在微信小程中使用有效,在app端使用这个方法不能获取到距离顶部的高度,只有demo元素的信息

以上就是关于求树中每对节点间距离的O算法的递推关系,怎么处理全部的内容,包括:求树中每对节点间距离的O算法的递推关系,怎么处理、怎么用js的原生写法写出来一个轮播图呢、uniapp获取元素到顶部的距离等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9484622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存