Timus #1067. Disk Tree

题目:输入N个文件/文件夹位置关系,输出层级关系。看题目例子就可以看懂。

解析:利用树状结构

代码缺点:该代码内存占用太多。在insert函数中,可以选择更高效的查找及插入算法,但这道题对运行时间要求没那没高,可以写的相对简单一点。Tree* child[70]这个数字70根据题目可以调整,只是越大消耗内存越大,可以存放的子节点越多,Timus这道题写70就够了。

代码优化建议:
1. 把Tree中改成vector<pair<string, Tree>> child;这样可以大大减少内存以及提供更高效的对string排序操作。
2. 把Tree中改成set<Tree> child;并对<运算符(根据string name;)进行重载。set提供了高效的insert和find函数,这种方法更高效。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

浙ICP备2021019730-1    浙公网安备 33010902002953号
Copyright © 2024 PanCake