【java】树结构在实际中的应用:菜单树,权限树分析

本文探讨了树结构在实际中的广泛应用,如菜单树和权限树。通过对二叉树和多叉树的分析,展示了如何在数据库中获取并构建菜单树。提到了两种实现树型菜单的方式,一种完全在客户端,另一种则由服务器端处理。同时,文章引用了获取菜单树的递归方法,并指出了使用Ajax以优化数据获取的策略。
摘要由CSDN通过智能技术生成

最近项目用到了菜单树,想想菜单树等树结构在实际中应用还是挺广的,所以分析总结下。除了菜单树,还有权限树,商品分类列表也是树结构。

实际应用中的树结构

权限树

这里写图片描述

树结构分析

要说树结构中最具美感的应该是二叉树了,但是实际中更多的是n叉树。
我们拿菜单树为例子。
无论是二叉树还是n叉树,每个结点至多有一个父节点,但是可以有0到n个分支。
没有父节点的那个叫做根节点,没有分叉的那个叫做叶子节点。对应到菜单树中那么一级菜单项显然就是根节点,最后一级菜单项就是叶子节点。根据OOP思想,我们需要把结点封装为一个类。既然要体现出父子结构显然这个类就必须有父子节点的id。因为多叉,所以有多个子节点,所以使用List类型字段来描述子节点。这样子,一个菜单项就定义如下࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值