【发布时间】:2015-05-12 08:42:29
【问题描述】:
我有一棵二叉树,比如 -
1
/ \
3 5
/ \
7 9
现在我尝试使用HashTable 来表示树。所以我创建了一个HashTable binaryTree -
HashTable binaryTree = new HashTable<Integer, Intgeger>();
然后我尝试将项目添加到binaryTree。我希望 1 作为二元树的键,并且它的所有子节点(例如 - 3 和 5)作为它的值。所以我想把 -
binaryTree.put(1, 3);
binaryTree.put(1, 5);
既然键为 1 的值有 2 个,那么第二个值没有插入到 HashTable - binaryTree 中?
如何将 3 和 5 添加到 binaryTree?
或者有没有更好的数据结构来做到这一点?
提前谢谢?
【问题讨论】:
-
你需要两张地图——一张给左孩子,一张给右孩子——如果你打算这样做,或者你可以有一张从
Integer到表示一对整数的类型。或者您根本无法使用 Map 来实现,而是将树表示为对象类型本身。
标签: java algorithm data-structures hashtable binary-tree