有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

了解堆栈(数据结构)、堆栈类、链表java?

我试图了解数据结构和ADT。 到目前为止,我已经阅读了大量的参考资料,但我并不清楚两者之间的区别

所以我的理解是stack,linkedlist和queue是数据结构,有一些类命名为stack,linkedlist作为ADT在Java中使用这些数据结构。 但一些书籍或资源称堆栈是一个集合,而其他资源称堆栈是数据结构。我对所有的差异都感到非常困惑,对于如何使用linkedlist实现堆栈感到困惑

有谁能解释清楚一点吗?我知道这将是一个非常基本的问题,但我真的需要理解

非常感谢你


共 (4) 个答案

  1. # 1 楼答案

    也许你会发现这些解释很有用。它们附带了一个很好的动画(如java小程序)

  2. # 2 楼答案

    数据结构是一种组织数据的方法,以便有效地使用数据。 这主要包括可以存储什么类型的数据,以及如何存储和处理数据

    示例1:我们可以将相同数据类型的元素列表存储在数组数据结构中,可以使用数组的索引访问元素

    示例2:我们可以将相同数据类型的元素列表存储在堆栈数据结构中,元素可以以后进先出的方式访问

    抽象数据类型是指定所需行为而不指定实现的数据类型。例如,对于java中的接口,定义要执行的操作和预期行为,但实现是隐藏的

    Java中已经定义了一些类,它们为您提供了数据结构的行为。其中一个类是java.util.Stack类,它提供了可以在堆栈上执行的操作,但隐藏了这些操作的实现细节。你可以在我的博客https://hetalrachh.home.blog/2019/12/25/stack-data-structure/上查看更多关于java.util.Stack类的信息

    堆栈可以通过多种方式实现,这意味着使用不同的数据结构(如数组和链表)实现后进先出行为。你可以在我的博客http://hetalrachh.home.blog/2020/01/12/stack-implementation-using-array-and-linkedlist-in-java/上找到一个带有图表的详细解释

  3. # 3 楼答案

    堆栈是一种特殊类型的集合。这是一种数据结构

    堆栈是一种线性数据结构,其中有一个又一个项

    一个堆栈只能做3件事:

    1. 将数据推到集合的末尾
    2. 偷看——只看最后一件藏品
    3. Pop-删除收藏的最后一项
    <>你不能插入中间或开始。除了最后一项,你不能看任何项目(第一项和任何中间项)

    堆栈也称为“后进先出”

    为什么会有这样的“限制”?现实生活中有几种情况会发生这种情况。在自助餐上,员工们把盘子一个接一个地放在一起,最上面的盘子(后进)是顾客取出的(先出)

    我无法获得太多细节,但当你按照运算顺序计算时,堆栈是有用的(甚至是至关重要的)(你可能会得到编程任务,所以你不能依赖计算器),当你想在网络中找到最短的路径时(例如,在你和名人之间找到最短的Facebook好友路径)

  4. # 4 楼答案

    欢迎来到编程世界。每天新学期。;-)

    从编程语言不可知的角度来看,堆栈是一种逻辑结构,具有push和pop等操作。这是一种抽象,一个数学概念,一种数据结构

    现在,当我们讨论Java等特定编程语言时,Sun开发人员将几种常用的数据结构实现放入一个组中,称之为集合。在Java世界中,集合是一个概念,它也有Java类(http://docs.oracle.com/javase/7/docs/api/java/util/AbstractCollection.html),所有这些结构都继承自AbstractCollection,它还实现了一个名为Collection(http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html)的接口

    因此,概念堆栈的Java实现也称为堆栈,但正如您从文档中看到的,类堆栈继承自抽象集合(参见http://docs.oracle.com/javase/7/docs/api/java/util/Stack.html),因此,它是一个Java集合