广州北大青鸟培训
广州北大青鸟培训学校依托北京大学,发扬北大勤奋、严谨、求实、创新的精神,秉承教育改变生活的发展理念,一直致力于培养中国IT技能型紧缺人才!

Java数据结构有哪些-java数据结构是什么

1

Java数据结构有哪些

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

Java数据结构有哪些

①、数组

优点:

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

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

缺点:

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

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

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

②、链表

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

优点:

不需要初始化容量;

可以添加任意元素;

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

缺点:

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

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

③、栈

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

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

④、队列

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

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

⑤、树

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

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

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

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

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

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

⑥、堆

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

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

堆总是一棵完全二叉树。

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

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

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

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

⑦、图

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

⑧、哈希表

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

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

2

java 数据结构是什么

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

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

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

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

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

3

java数据结构书籍推荐

1. 入门级

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

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

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

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

2. 不同语言的教科书

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

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

如果你不会C、C++、java,会Python或者JavaScript,可以看:《数据结构与算法JavaScript描述》《数据结构与算法:Python语言描述》。

以上是广州北大青鸟培训整理的Java数据结构有哪些-java数据结构是什么全部内容,更多精选文章请访问编程学习网专栏。

  • 推荐课程

  • 相关文章

  • 相关课程