【问题标题】:Suggestion for a "merge of structures"对“结构合并”的建议
【发布时间】:2015-07-11 21:12:31
【问题描述】:

我的教授让我做一个我们已经研究过的“结构合并”。那个怎么样?例如使用双向链表而不是数组的 Max/Min 堆。但是我想不出任何可以改进的结构(使某些方法更快“合并结构”)。谁能给我小费?或者一些可以帮助我的链接?

Ps:到目前为止,我已经研究过*:LinkedList(Single and Doubly)、Binary Heap、BST 和 Skip 列表。

Ps1:对不起,我的英语不是我的母语。

  • :我学习了更多,但他已经要求做其他结构(例如使用链表的堆栈)。

【问题讨论】:

  • 你能具体说明你想要什么吗,结构合并没有多大意义
  • 对不起。比方说:通常当你构造一个 Max Heap 时,你会使用一个数组,对吧?但是,如果您选择使用双向链表创建最大堆?我的算法会更快吗?我在任何方法(插入,搜索)中都会有一些优势?这是我需要做的。为这些结构创建一个新方法(LinkedList、Binary Heap(Max or Min)或 Skip Lists)。
  • 你研究过哈希表吗?
  • 还没有。 xx到目前为止我学习的内容:Queue、Stack*、LinkedList、BST、Heap 和 Skip Lists。还没有很多东西。 Ps:我们已经用 Queue 和 Stack 做了一些事情。
  • 为什么不创建一个双向链接的跳过列表?请注意,改进并不总是意味着让它表现得更好。附加功能通常同样重要。

标签: java linked-list binary-search-tree


【解决方案1】:

LinkedLists 是第二个数据结构合并到另一个数据结构的不错选择。

Java 有一个 LinkedHashMap,它是两个数据结构 Map 和 LinkedList 的合并。 LinkedList 组件可以维护 LRU 缓存的插入顺序或 LRU 顺序。

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 2021-01-02
    • 1970-01-01
    • 2011-10-29
    • 2013-06-12
    • 2016-05-21
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    相关资源
    最近更新 更多