如何实现Python中无限级分类树状结构生成算法?
- 内容介绍
- 相关推荐
本文共计1077个文字,预计阅读时间需要5分钟。
后端研发的同学们,对无限级分类的图像深度解析,初花时间不少吧?无限级分类树状结构的广泛应用,例如后端研发需要将用户相关权限读取出来生成树状结构,前端研发获取权限。
后端研发的同学对无限级分类肯定映像深刻,当初花了不少时间吧?
无限级分类树状结构的应用场景很多,例如后端研发需要把用户相关权限读取出来并生成树状结构,前端研发拿到权限树之后可以按照结构展示用户有权限访问的栏目;再例如网页上的栏目分级:
作者在初次接触树状结构生成需求的时候,也是挠头,后来找到了一个代码少且清晰易懂的生成算法:递归。
首先,确保数据库中存储的类别信息如下:
[ {"id": 1, "name": '电器', "parent": 0}, {"id": 2, "name": '水果', "parent": 0}, {"id": 3, "name": '家用电器', "parent": 1}, {"id": 4, "name": '电吹风', "parent": 3}, {"id": 5, "name": '电风扇', "parent": 3}, {"id": 6, "name": '台灯', "parent": 3}, {"id": 7, "name": '商用电器', "parent": 1}, {"id": 8, "name": '大型电热锅', "parent": 7}, ]
字段 parent 记录的是此条目的父编号,例如电吹风的父编号是 3,即电吹风属于家用电器,而家用电器的父编号是 1,即家用电器属于电器类产品。电吹风条目跟电器条目并无直接的标识进行关联,但需要用树状结构来表明 电器 <- 家用电器 <- 电吹风 的关系。
本文共计1077个文字,预计阅读时间需要5分钟。
后端研发的同学们,对无限级分类的图像深度解析,初花时间不少吧?无限级分类树状结构的广泛应用,例如后端研发需要将用户相关权限读取出来生成树状结构,前端研发获取权限。
后端研发的同学对无限级分类肯定映像深刻,当初花了不少时间吧?
无限级分类树状结构的应用场景很多,例如后端研发需要把用户相关权限读取出来并生成树状结构,前端研发拿到权限树之后可以按照结构展示用户有权限访问的栏目;再例如网页上的栏目分级:
作者在初次接触树状结构生成需求的时候,也是挠头,后来找到了一个代码少且清晰易懂的生成算法:递归。
首先,确保数据库中存储的类别信息如下:
[ {"id": 1, "name": '电器', "parent": 0}, {"id": 2, "name": '水果', "parent": 0}, {"id": 3, "name": '家用电器', "parent": 1}, {"id": 4, "name": '电吹风', "parent": 3}, {"id": 5, "name": '电风扇', "parent": 3}, {"id": 6, "name": '台灯', "parent": 3}, {"id": 7, "name": '商用电器', "parent": 1}, {"id": 8, "name": '大型电热锅', "parent": 7}, ]
字段 parent 记录的是此条目的父编号,例如电吹风的父编号是 3,即电吹风属于家用电器,而家用电器的父编号是 1,即家用电器属于电器类产品。电吹风条目跟电器条目并无直接的标识进行关联,但需要用树状结构来表明 电器 <- 家用电器 <- 电吹风 的关系。

