学习进度条3.28
所花时间:7小时
代码量:400
搏客量:1
了解到的知识点:
- 树形结构的基本概念
节点(Node):树形结构中的基本单元,每个节点可以包含多个子节点。
根节点(Root Node):树形结构的最顶层节点,是整个树的起点。
子节点(Child Node):直接隶属于某个节点的节点。
父节点(Parent Node):包含子节点的节点。
叶子节点(Leaf Node):没有子节点的节点。
层级(Level):从根节点到当前节点的路径长度,根节点的层级为0。 - 树形结构的存储方式
邻接表(Adjacency List):通过一个表来存储每个节点及其子节点的列表。例如,使用数组或哈希表存储。
嵌套集合(Nested Set):通过左右值来表示节点的层级关系,适合读多写少的场景。
路径枚举(Materialized Path):通过存储节点的完整路径来表示层级关系,例如 /root/child1/child2。 - 树形结构的过滤显示方式
搜索过滤(Search Filtering)
关键字匹配:根据用户输入的关键字,匹配节点的名称或内容,显示匹配的节点及其父节点路径。
正则表达式匹配:使用正则表达式进行更复杂的匹配规则。
属性过滤(Attribute Filtering)
基于节点属性:过滤具有特定属性值的节点,例如过滤出所有状态为“激活”的节点。
层级过滤(Level Filtering)
显示特定层级:只显示指定层级的节点,例如只显示根节点和第一级子节点。
隐藏指定层级:隐藏某些层级的节点,例如隐藏中间层级,只显示根节点和叶子节点。 - 树形结构的交互设计
展开/折叠功能:允许用户通过点击节点来展开或折叠其子节点,便于查看和隐藏信息。
多选/单选功能:支持用户选择单个或多个节点,通常用于操作或数据选择。
拖拽排序:允许用户通过拖拽节点来改变树的结构或顺序。
节点操作按钮:在节点旁边提供操作按钮,如“编辑”“删除”“添加子节点”等。 - 树形结构的性能优化
懒加载(Lazy Loading):仅在用户展开某个节点时才加载其子节点数据,减少初始加载时间。
分页加载:对于节点数量较多的树形结构,可以采用分页加载的方式,每次加载一定数量的节点。
缓存机制:对已加载的节点数据进行缓存,避免重复请求。 - 树形结构的可视化
水平树形图:节点从左到右展开,适合较浅的层级结构。
垂直树形图:节点从上到下展开,适合较深的层级结构。
缩进列表:通过缩进来表示层级关系,适合文本形式的展示。
图形化树形图:使用图形化工具(如 D3.js)绘制树形结构,增强视觉效果。 - 树形结构的常见应用场景
文件系统:显示文件夹和文件的层级关系。
组织架构:展示公司或机构的部门和人员结构。
分类目录:如电商平台的商品分类、知识库的分类等。
项目管理:任务分解和子任务的层级关系。

浙公网安备 33010602011771号