图解Java数据结构
文章平均质量分 93
都说不会数据结构的程序员不是好程序员,足见数据结构的重要性,而接下来的程序算法也是建立在数据结构的基础之上的。所以那些掌握着优秀算法的程序员,它的数据结构基础也一定很扎实。本专栏就对于Java语言进行一个数据结构的讲解。
.caixukun
人生如逆旅,我亦是行人。
展开
-
【数据结构系列】双向链表
课后习题上一篇文章中我们说到单链表,然后最后有一道习题,不知道大家有没有做出来,为了照顾一些还不太会的同学,这里专门对这道题进行一个简单的讲解,先来看看原题内容:有一个带头结点的单链表L = {a1,b1,a2,b2,…,a(n),b(n)},试设计一个算法将其拆分成两个带头结点的单链表L1和L2,L1 = {a1,a2,…,a(n)},L2 = {b(n),b(n - 1),…,b(1)},...原创 2019-11-18 11:30:43 · 5273 阅读 · 2 评论 -
【数据结构系列】单链表
专栏介绍最近也一直在思考该写点什么文章,想了很久,还是决定重新编写一下数据结构的相关内容,关于数据结构的重要性就不用我多说了,之前的文章中我也写过,但实现语言是Java。其实对于数据结构的学习,最好还是用C语言来实现,有人说用Java学数据结构那是耍流氓,也是有一定的道理的。没有指针的概念,数据结构是没有灵魂的,所以,接下来的话,我会持续更新C语言数据结构教程。你们可以百度搜索一些数据结构的文...原创 2019-11-05 22:04:07 · 10041 阅读 · 7 评论 -
图解Java数据结构之环形链表
本篇文章介绍数据结构中的环形链表。介绍环形链表,类似于单链表,也是一种链式存储结构,环形链表由单链表演化过来。单链表的最后一个结点的链域指向NULL,而环形链表的建立,不要专门的头结点,让最后一个结点的链域指向链表结点。 简单点说链表首位相连,组成环状数据结构。如下图结构:而在环形链表中,最为著名的即是约瑟夫环问题。约瑟夫环问题问题介绍:设编号为1、2、3、… 、n的n个人围坐一圈,...原创 2019-08-08 15:01:38 · 7295 阅读 · 4 评论 -
图解Java数据结构之双向链表
上一篇文章说到了单链表,也通过案例具体实现了一下,但是单链表的缺点也显而易见。单向链表查找的方向只能是一个方向单向链表不能自我删除,需要靠辅助节点而双向链表则能够很轻松地实现上面的功能。何为双向链表双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。增删改查思路...原创 2019-08-08 13:39:46 · 3647 阅读 · 1 评论 -
图解Java数据结构之单链表
本篇文章介绍数据结构中的单链表。链表(Linked List)介绍链表可分为三类:单链表双向链表循环列表下面具体分析三个链表的应用。单链表链表是有序的列表,它在内存中存储方式如下:虽然链表是有序列表,但是其元素并不是连续存储的。我们从图中可以看出,a1的next域为110,而地址为110的元素为a2;a2的next域为180,而地址为180的元素为a3,以此类推。综上所述...原创 2019-08-07 11:26:46 · 4859 阅读 · 0 评论 -
图解Java数据结构之队列
本篇文章,将对队列进行一个深入的解析。使用场景队列在日常生活中十分常见,例如:银行排队办理业务、食堂排队打饭等等,这些都是队列的应用。那么队列有什么特点呢?我们知道排队的原则就是先来后到,排在前面的人就可以优先办理业务,那么队列也一样,队列遵循先进先出的原则。队列介绍刚才通过生活中的例子大致了解了一下队列,那么从数据结构的角度来讲,队列到底是什么呢?队列是一个有序列表,可以用数组或是...原创 2019-08-06 16:00:07 · 3347 阅读 · 1 评论 -
图解Java数据结构之稀疏数组
在编程中,算法的重要性不言而喻,没有算法的程序是没有灵魂的。可见算法的重要性。然而,在学习算法之前我们需要掌握数据结构,数据结构是算法的基础。我在大学的时候,学校里的数据结构是用C语言教的,因为对C语言也不是很了解,所以掌握得不是特别好,在网上找的一些学习资料里也基本都是用C语言来进行数据结构的教学。那么,从本篇文章开始,我将用Java语言来介绍数据结构,当然,数据结构过后就是算法。标题...原创 2019-08-06 12:14:27 · 3168 阅读 · 0 评论