纯C/C++/java如何实现无限分类树

良枫 2009-10-21 07:31:19
纯C/C++/java如何实现无限分类树?并且给出查找/添加/修改/删除某结点的方法。
不要长篇的代码,只要实现思路。谢谢!!
...全文
101 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不是大明 2009-10-22
  • 打赏
  • 举报
回复
自己去读代码不就好了。
良枫 2009-10-22
  • 打赏
  • 举报
回复
不要长篇的代码,只要实现思路。谢谢!!
也许我说的不是很明白。
我不需要代码,只要思路,想找一个效率比较高的思路而已。


whg01 2009-10-22
  • 打赏
  • 举报
回复
Class Node{
Node* pParent; //指向父节点
vector<Node*> pChild; //指向子节点。一个节点的所有直接子节点存放在vector中。如果需要,还可以排序。
}
其它的和二叉树的操作大同小异。
如果需要高效的查找,那么再单独建立一个Vector<Node*> pAll;添加节点时,同时也添加到这里。全部添加完毕后,排序。
cphj 2009-10-22
  • 打赏
  • 举报
回复
我的思路就是用map<id_type, vector<id_type>>来保存父子节点的对应关系

添加节点代码示例
vector children_id;
children_id.push_back(child1);
children_id.push_back(child2);
children_id.push_back(child3);
map.insert(parent_id, children_id);
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 whg01 的回复:]
http://download.csdn.net/source/581317 C#的
http://download.csdn.net/source/1614433 javascript的
随便用一个改改就行了。
[/Quote]
.
wanjingwei 2009-10-21
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090130/00/ea50cd3d-f56b-4d12-9096-6751dbc7f36e.html
whg01 2009-10-21
  • 打赏
  • 举报
回复
http://download.csdn.net/source/581317 C#的
http://download.csdn.net/source/1614433 javascript的
随便用一个改改就行了。
wuyu637 2009-10-21
  • 打赏
  • 举报
回复
http://www.94qing.com/art/DTree.html

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧