Data structures 什么是隐式数据结构?堆是实现优先级队列的隐式数据结构吗?

Data structures 什么是隐式数据结构?堆是实现优先级队列的隐式数据结构吗?,data-structures,language-agnostic,heap,priority-queue,Data Structures,Language Agnostic,Heap,Priority Queue,我的问题可能看起来很幼稚,但我真的不理解这个问题,因为我只是数据结构课程的新手。我确实知道最大和最小堆是如何工作的,但我不确定堆是否是实现优先级队列的隐式数据结构 发件人: 在计算机科学中,隐式数据结构是一种除实际数据元素外使用很少内存的数据结构 因此,堆是合适的,因为它可以实现为一个简单的数组。实现优先级队列的堆将是隐式数据结构,但不是因为它实现了优先级队列。这是因为堆不使用任何特殊的方法来跟踪其元素,只使用数组位置 另外,我完全不同意你朋友的解释。任何问题都没有“自然”的数据结构,只有在这种

我的问题可能看起来很幼稚,但我真的不理解这个问题,因为我只是数据结构课程的新手。我确实知道最大和最小堆是如何工作的,但我不确定堆是否是实现优先级队列的隐式数据结构

发件人:

在计算机科学中,隐式数据结构是一种除实际数据元素外使用很少内存的数据结构

因此,堆是合适的,因为它可以实现为一个简单的数组。实现优先级队列的堆将是隐式数据结构,但不是因为它实现了优先级队列。这是因为堆不使用任何特殊的方法来跟踪其元素,只使用数组位置

另外,我完全不同意你朋友的解释。任何问题都没有“自然”的数据结构,只有在这种情况下非常方便的数据结构


计算和数据结构是抽象的概念,可以用许多不同的方式实现。链表可以在堆上、硬盘上、互联网上实现,也可以由一群人用便签和下一个人的电话号码来实现。将整个数据集称为用于某些特定问题的“自然”数据结构是错误的

发件人:

在计算机科学中,隐式数据结构是一种除实际数据元素外使用很少内存的数据结构

因此,堆是合适的,因为它可以实现为一个简单的数组。实现优先级队列的堆将是隐式数据结构,但不是因为它实现了优先级队列。这是因为堆不使用任何特殊的方法来跟踪其元素,只使用数组位置

另外,我完全不同意你朋友的解释。任何问题都没有“自然”的数据结构,只有在这种情况下非常方便的数据结构


计算和数据结构是抽象的概念,可以用许多不同的方式实现。链表可以在堆上、硬盘上、互联网上实现,也可以由一群人用便签和下一个人的电话号码来实现。将整个数据集称为用于某些特定问题的“自然”数据结构是错误的。

感谢bdares的回复。我的朋友说这里的“隐含”一词意味着自然或默认的方法。我还要求澄清Yahoo的回答,一个人说:不。优先级队列是一种抽象的数据结构,与数据的组织方式无关。优先级队列可以实现为无序列表、排序列表、链接列表等。根据要管理的数据的特征,某些优先级队列在支持优先级队列操作方面优于其他优先级队列。堆恰好是有效实现优先级队列的良好数据结构。感谢bdares的回复。我的朋友说这里的“隐含”一词意味着自然或默认的方法。我还要求澄清Yahoo的回答,一个人说:不。优先级队列是一种抽象的数据结构,与数据的组织方式无关。优先级队列可以实现为无序列表、排序列表、链接列表等。根据要管理的数据的特征,某些优先级队列在支持优先级队列操作方面优于其他优先级队列。堆恰好是有效实现优先级队列的良好数据结构。