网站运营公司搭建论坛网站的流程

张小明 2026/1/11 6:02:59
网站运营公司,搭建论坛网站的流程,教育平台型网站建设,网站关键字优化销售一、核心知识点概述 本案例通过递归算法实现树形结构的遍历#xff0c;主要涉及以下知识点#xff1a; 树形结构的递归遍历Set数据结构的去重特性层级结果的合并逻辑条件判断与递归终止条件 二、递归实现原理分析 举个例子 基础数据 const mockData [{id: 1,labe: 父节点1,c…一、核心知识点概述本案例通过递归算法实现树形结构的遍历主要涉及以下知识点树形结构的递归遍历Set数据结构的去重特性层级结果的合并逻辑条件判断与递归终止条件二、递归实现原理分析举个例子基础数据const mockData [{id: 1, labe: 父节点1, children: [{id:11,label:子节点1,},{id:12,label:子节点2,},{id:13,label:子节点3,},],},{id: 2, labe: 父节点2, children: [{id:21,label:子节点1,},{id:22,label:子节点2,},{id:23,label:子节点3,},],},{id: 3, labe: 父节点3, children: [{id: 31, label: 子节点1, children: [{id:311,label:子节点1.1,},{id:312,label:子节点1.2,},{id:313,label:子节点1.3,},],},{id:32,label:子节点2,},{id:33,label:子节点3,},],},];const selectKey [1,11,12,22];需求根据给定选中的节点id值自动填充其父级在节点id1. 递归函数结构constcollectAllParents(nodes,checkedKeys){constresultnewSet();nodes.forEach(item{// 基础判断当前节点是否被选中if(checkedKeys.has(item.id))result.add(item.id);// 递归处理子节点if(item?.children?.length0){constsubResultcollectAllParents(item.children,checkedKeys);// 合并子结果与当前节点if(subResult.size0){result.add(item.id);// 父节点自动选中subResult.forEach(idresult.add(id));}}});returnresult;};2. 递归终止条件当节点无子节点item.children.length 0时递归自然终止当遍历完所有子节点后返回当前层级的结果集3. 递归执行流程从根节点开始遍历检查当前节点是否被选中若存在子节点递归处理子节点集合合并子节点结果与当前节点结果返回包含当前层级及子层级结果的集合三、Set数据结构的作用1. 去重特性constcheckedKeysnewSet(selectKey);确保遍历过程中节点ID的唯一性提供O(1)时间复杂度的成员判断has()方法2. 结果集的合并subResult.forEach(idresult.add(id));利用Set的自动去重特性合并多级结果避免手动去重的复杂性四、层级结果合并机制1. 父子节点关联逻辑当子节点被选中时if(subResult.size0){result.add(item.id);// 自动选中父节点// 合并子节点结果}父节点自动被标记为选中子结果集通过forEach合并到父级结果2. 多层级数据穿透// 从根节点到最深层子节点的递归穿透constsubResultcollectAllParents(item.children,checkedKeys);实现自底向上的结果收集确保所有父节点都被正确标记五、条件判断逻辑1. 当前节点选中判断if(checkedKeys.has(item.id))result.add(item.id);直接判断当前节点是否在选中列表2. 子节点结果判断if(subResult.size0){...}通过子结果集的大小判断是否存在被选中的子节点六、 核心知识点递归遍历每层涉及的变量值是相互独立的在每一层收集之后进行合并整合
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

wordpress 网站提速手机单页网站

武警边防检查:HunyuanOCR快速核对出入境证件 在边境口岸的清晨,旅客排起长队,检查员手持设备逐一核验护照。一张来自中东地区的证件摆在眼前——手写体姓名、反光严重的签证页、混合阿拉伯文与英文的信息栏……传统OCR系统频频报错&#xff0…

张小明 2026/1/10 13:29:26 网站建设

淘宝客网站推广备案常州百度快速优化

基于NPort5630的Modbus串口通讯优化方案 在现代工业自动化现场,你是否遇到过这样的场景:一条RS-485总线上挂了十几台温控仪表,突然某一台设备接线松动,整个通信链路瞬间瘫痪,上位机数据全部离线?更糟的是&a…

张小明 2026/1/8 13:44:21 网站建设

阿里巴巴外贸网站登录京东下载官网

QtScrcpy版本降级全攻略:让Android投屏重回巅峰状态 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcpy …

张小明 2026/1/10 18:49:03 网站建设

淘宝美工与网站开发WordPress更改自定义侧边栏宽度

第一章:电商平台自动比价的 Open-AutoGLM 设置在构建电商平台自动比价系统时,Open-AutoGLM 提供了一套灵活且高效的自动化推理框架,能够动态解析商品信息并执行跨平台价格对比。该系统依赖结构化配置与自然语言理解能力的结合,实现…

张小明 2026/1/10 22:39:04 网站建设

网站策划案怎么做高端网站建设 引擎技网络

完整解析Quake III Arena开源架构:从零掌握3D游戏引擎核心技术 【免费下载链接】Quake-III-Arena Quake III Arena GPL Source Release 项目地址: https://gitcode.com/gh_mirrors/qu/Quake-III-Arena 作为GPL授权下的经典竞技场射击游戏,Quake I…

张小明 2026/1/11 2:24:19 网站建设

推介做界面的网站杭州老牌的网站建设

打开2025年的招聘软件,十个资深前端岗位,有八个在JD(职位描述)里写着:“有Node.js/Serverless/全栈经验者优先”。 全栈 👉 成了我们前端工程师内卷的一种方式。仿佛你一个干前端的,要是不懂点B…

张小明 2026/1/7 5:41:56 网站建设