我的程序包含二进制搜索树和单个链接列表。 其中每个操作都是对两个数据结构完成的。 我有问题: 1)链接两个数据结构,以使两个数据结构点的当前点都是相同的元素。 2)排序节点 3)最后也是最困难的一个是在链表log(n)中获得搜索性能,因为它在bst中。我不能有更多的复杂性。 我使用其他数据结构的选项是none。 btw我使用java作为编程语言。访问链接列表
Q
访问链接列表
-1
A
回答
0
1)链接两个数据结构,使两个数据结构点的当前点都是同一个元素。
您可以创建共享元素的树和链接列表。我想这就是你的意思。
2)挑选节点
无法排序树。树的节点是自然排序的,如果您在不同的比较器中重新排序它们,则树不再有效。
3)最后也是最困难的一个就是在链表log(n)中获得搜索性能,因为它在bst中。
您无法搜索O(logN)
中的无序列表。这在数学上是不可能的。您可以搜索O(logN)
中的有序数组(或数组列表),但这取决于能够索引O(1)
中的数组/列表,这对于链表是不可能的。
但是...您可以同时实现既是树又是链表的混合数据结构。你会用那个看起来是这样的一个节点类型开始什么:
private class Node <T> {
private Node<T> next;
private Node<T> prev;
private Node<T> left;
private Node<T> right;
private T value;
...
}
然后建立使用left
和right
领域的树木,并使用next
和prev
领域的链表。
数据结构的列表方面可以用一个Comparator
进行排序,该数据结构的树方面可以使用第二Comparator
责令 ...允许基于第二Comparator
的排序O(logN)
查找。
我不确定这是否符合您的要求(它们没有明确说明),但相当接近。
+0
是的,我认为这是最接近可能的解决方案,我想我可以从类似于您的Node扩展BSTnode类,谢谢。 – voxic
相关问题
- 1. 访问链接列表中的链接列表变量
- 2. 通用链接列表指针访问
- 3. 功能访问链接列表
- 4. 如何访问列表项的链接
- 5. PHP访问控制列表的链接
- 6. 修改链接表访问
- 7. MS-访问:双链接表
- 8. 链接列表节点链接问题
- 9. 链接列表问题C++
- 10. 链接列表问题
- 11. 链接列表问题
- 12. 链接列表问题
- 13. 链接列表问题
- 14. Java链接列表问题
- 15. 链接列表问题,
- 16. 链接列表问题
- 17. 链接列表问题
- 18. Java链接列表问题
- 19. 访问2010链接的ODBC表丢失列问题
- 20. 访问队列和链接列表违规错误C++
- 21. 访问iframe链接
- 22. 访问链接CSS
- 23. Yii2访问连接表列
- 24. 使用哈希表和链接列表的C++访问冲突
- 25. 如何从链接表访问下拉列表
- 26. 访问gridview列中的超链接
- 27. 链接列表的链接列表
- 28. 访问 - 超链接不链接
- 29. 访问中刷新链接表
- 30. 将SQL Server表链接到访问
你的问题是什么? – Michael
所以你想从愚蠢的规格中明白你无法改变的东西。咄? (使用链表进行排序和搜索只是愚蠢的) – cadrian
我被要求做到这一点,以证明我理解这两个数据结构,我可以解决这个连接两个数据结构的技巧。 – voxic