猿问
下载APP

请问在java中都有哪些数据结构?

java中都有哪些数据结构?


忽然笑
浏览 86回答 3
3回答

慕森卡

数据结构:①数组 (Array)在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。②栈 (Stack)栈是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。③队列 (Queue)一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。④链表 (Linked List)一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。⑤树 (Tree)树是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件:(1)有且仅有一个结点 k0,他对于关系N来说没有前驱,称K0为树的根结点。简称为根(root)(2)除K0外,k中的每个结点,对于关系N来说有且仅有一个前驱。(3)K中各结点,对关系N来说可以有m个后继(m>=0)。⑥堆 (Heap)在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。⑦图 (Graph)图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。⑧散列表 (Hash)若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。差不多我就知道这些了~

米脂

1,集合:集合中的每一个数据元素都是相互独立的,这跟数学里的集合是一致的。(还记得数学里集合的三要素呢,无序性,互异性,确定性)2,线性结构:数据之间是一对一的关系,我感觉就像是有一条线把数据元素穿了起来。不知道这样子理解对不对·····3,树形结构:数据之间存在一对多的关系。是不是像一个大家庭,我们都有一个祖宗,然后生啊生啊,就有了很多下一代,下一代又生啊生,就又有很多下下一代······4,图状结构或者网状结构:数据元素间是多对多的关系。

不负相思意

太多了,集合框架Collection里面包含Set集合类型的,还有List列表类型的..Map是和集合框架类似的提供键值对应的..当然可以把Collection里的元素和Map里的元素一起使用,延伸出了,HashSet,HashMap,TreeSet,TreeMap,LinkedHashSet....很多很多的衍生类。。你不需要关心怎么实现的,因为每个实现都是挺复杂的,但是你要知道他们的时间复杂度和空间复杂度,也就是特定程序用哪个效率高或者是空间省
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答