我有一份学生名单。 aaa 是 bbb 和 ddd 的领导者。 bbb 是 eee 的领导者,而 eee 是 fff 的领导者。
Students leader groupStudent
aaa -- [bbb,ddd]
bbb aaa [eee]
ccc --- ---
ddd aaa []
eee bbb [fff]
fff eee []
我想用JAVA实现这个。显示为如下图形表示。
fff
|
eee
|
aaa--bbb---ddd
我有大量的学生,每个学生都可以指导任何其他学生。哪种数据结构可以用来显示上面的图?我正在考虑具有键值对的 HashMap ,aaa具有[bbb,ddd]。
最佳答案
aaa is leader for bbb and ddd. bbb is leader for eee and eee is leader for fff.
这是信息的层次结构。树数据结构最适合您。 aaa
将是树中的一个节点,以 bbb
和 ddd
作为其子节点,依次类推。
如果您需要显示所有向 bbb
报告的人,那么树数据结构可以帮助您。您所要做的就是遍历它的子级,而不是嵌套的 HashMap 遍历。
关于java - 链表或递归调用 HashMap ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33318429/