python 建立树形数据结构

本文介绍了一种使用Python字典来记录和追踪文件中类的继承关系的方法,并对比了列表方式的不足之处。作者最终选择了递归打印的方式展现继承结构,并在过程中发现了开源工具Doxygen能自动生成相关文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写之前从网上找过一些资料,不过部分是用class 实现的,结合数据结构原理,但是code稍微复杂

其实这边的需求还是很简单的所以就想用简单的方式实现, 就是现有的file 中class 的extends 关系有点乱,想把class 的继承关系打印出来

预选实现方式有两种:

1.list

2.dict


list 方式会用到多维数组,在数据插入的时候会很棘手,所以使用了dict方式

使用base class 作为key,所有继承自该base class 的subclass 以list 的形式作为value.

类似下面这种

dict = {"obj":['ins', 'other'], 
   'ins':['alu', 'mem', 'br'],
            'alu':['add', 'sub'],
            'mem':['mem16', 'mem32', 'mem48']
        }


最后打印的时候需要传入一个最base 的node, 然后使用一次递归就搞定了


哎呀, 关于需求,第二天回到公司,发现有个好东西:doxygen 已经有了open source tool,而且还能自动gen 出来html,白写了2个多小时的code。

doxygen 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值