Java数据结构有哪些-java数据结构是什么_第1页
Java数据结构有哪些-java数据结构是什么_第2页
Java数据结构有哪些-java数据结构是什么_第3页
Java数据结构有哪些-java数据结构是什么_第4页
Java数据结构有哪些-java数据结构是什么_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第页Java数据结构有哪些-java数据结构是什么Java数据结构有:1、数组;2、链表,一种递归的数据结构;3、栈,按照“后进先出〞、“先进后出〞的原则来存储数据;4、队列;5、树,是由n(n0)个有限节点组成的一个具有层次关系的集合;6、堆;7、图;8、哈希表。

①、数组

优点:

按照索引查询元素的速度很快;

按照索引遍历数组也很方便。

缺点:

数组的大小在创建后就确定了,无法扩容;

数组只能存储一种类型的数据;

添加、删除元素的操作很耗时间,因为要移动其他元素。

②、链表

链表是一种递归的数据结构,它或者为空(null),或者是指向一个结点(node)的引用,该节点还有一个元素和一个指向另一条链表的引用。

优点:

不必须要初始化容量;

可以添加任意元素;

插入和删除的时候只必须要更新引用。

缺点:

含有大量的引用,占用的内存空间大;

查找元素必须要遍历整个链表,耗时。

③、栈

栈就好像水桶一样,底部是密封的,顶部是开口,水可以进可以出。用过水桶的小伙伴应该明白这样一个道理:先进去的水在桶的底部,后进去的水在桶的顶部;后进去的水先被倒出来,先进去的水后被倒出来。

同理,栈按照“后进先出〞、“先进后出〞的原则来存储数据,先插入的数据被压入栈底,后插入的数据在栈顶,读出数据的时候,从栈顶开始依次读出。

④、队列

队列就好像一段水管一样,两端都是开口的,水从一端进去,然后从另外一端出来。先进去的水先出来,后进去的水后出来。

和水管有些不同的是,队列会对两端进行定义,一端叫队头,另外一端就叫队尾。队头只同意删除操作(出队),队尾只同意插入操作(入队)。

⑤、树

树是一种典型的非线性结构,它是由n(n0)个有限节点组成的一个具有层次关系的集合。

之所以叫“树〞,是因为这种数据结构看起来就像是一个倒挂的树,只不过根在上,叶在下。树形数据结构有以下这些特点:

每个节点都只有有限个子节点或无子节点;

没有父节点的节点称为根节点;

每一个非根节点有且只有一个父节点;

除了根节点外,每个子节点可以分为多个不相交的子树。

⑥、堆

堆可以被看做是一棵树的数组对象,具有以下特点:

堆中某个节点的值总是不大于或不小于其父节点的值;

堆总是一棵完全二叉树。

将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。

在线性结构中,数据元素之间满足唯一的线性关系,每个数据元素(除第一个和最后一个外)均有唯一的“前驱〞和“后继〞;

在树形结构中,数据元素之间有着显然的层次关系,并且每个数据元素只与上一层中的一个元素(父节点)及下一层的多个元素(子节点)相关;

而在图形结构中,节点之间的关系是任意的,图中任意两个数据元素之间都有可能相关。

⑦、图

图是一种复杂的非线性结构,由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。

⑧、哈希表

哈希表(HashTable),也叫散列表,是一种可以通过关键码值(key-value)直接访问的数据结构,它最大的特点就是可以快速实现查找、插入和删除。

数组的最大特点就是查找容易,插入和删除困难;而链表正好相反,查找困难,而插入和删除容易。哈希表很完美地结合了两者的优点,Java的HashMap在此基础上还加入了树的优点。

2java数据结构是什么

数据结构是计算机组织、存储数据的方式。简单来说就是,数据按指定的规则进行存储,从而得到一个有固定存储格式的数据集合,就称之为“数据结构〞。

为了深层次的了解,其实可以分为两个层面来理解:

1、数据元素的前后之间存在某种关系,这是从逻辑层面来讲的一种逻辑关系。我们可以将其称为数据的逻辑结构。常见的逻辑结构(和其介绍)如下:

集合:同一集合之间的元素存在关系,集合之外的数据之间是没有任何关系的。线性结构:元素之间存在一对一的关系。树形结构:元素之间存在一对多的关系。图形结构:元素之间存在多对多的关系。

2、某一逻辑结构的数据在内存中存储的方式,我们可以将其称为数据的物理结构(存储结构)。

3java数据结构书籍推举

1.入门级

针对刚入门的同学,建议不要急着去看那些经典书,像《算法导论》、《算法》这些比较经典、权威的书。虽然书很好,但看起来很费力,如果看不完,效果会很不好。所以建议先看两本入门级的趣味书:《大话数据结构》《算法图解》。

《大话数据结构》将理论讲的很有趣,不枯燥。结合生活中的例子去对每个数据结构和算法进行讲解,让人通俗易懂。

《算法图解》这是一本像小说一样有趣的算法入门书,书中有大量的图解,通俗易懂。

看完上面一本或两本入门级的书,你就会对数据结构和算法有个大概熟悉和学习。但这些入门级的书缺少细节、不够系统。所以想要深入的学习数据结构和算法,光看这两本书肯定是不够的。

2.不同语言的教科书

国内外很多大学都是将《数据结构和算法分析》作为教科书。这本书非常系统、严谨、全面,难度适中,很合适对数据结构和算法有些了解,并且已经掌握了至少一门语言的同学学习。

针对不同的语言,分别有:《数据结构与算法分析:C语言描述》《数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论