数据结构
小白程序之路
这个作者很懒,什么都没留下…
展开
-
Java版-数据结构-数组
数组知识点回顾声明Java数组时,会在内存中开辟一块连续指定大小的空间,用来存储固定大小的同类型元素在java中定义个名为scores,长度为8,类型为int类型的数组如下:public static void main(String[] args) { int[] scores = new int[8];}为了便于理解,我们看下它在内存的中的分布示意图:图中的一个个小格子...原创 2019-03-26 13:03:21 · 199 阅读 · 0 评论 -
Java版-数据结构-栈
介绍栈是一种后进先出的线性表数据结构,分为栈顶和栈底两端,仅允许在表的一端插入元素,这一端被称为栈顶,另外一端称之为栈底。栈,只有两种操作,分为入栈(压栈)和出栈(退栈);向栈中添加元素的操作叫做入栈,相反从栈中删除元素叫做出栈。特点只能从栈顶添加元素或者删除元素后进先出的数据结构,Last In First Out(LIFO)为了大家更好的形象了解我们通过示意图来看一下栈的入栈和出...原创 2019-03-26 13:57:10 · 182 阅读 · 0 评论 -
Java版-数据结构-队列(数组队列)
前言看过笔者前两篇介绍的Java版数据结构数组和栈的盆友,都给予了笔者一致的好评,在这里笔者感谢大家的认可!!!由于本章介绍的数据结构是队列,在队列的实现上会基于前面写的动态数组来实现,而队列又和栈不论是从特点上和操作上都有类似之处,所以在这里对这两种数据结构不了解的朋友,可以去看一下笔者前两篇文章介绍的数据结构数组和栈,这里笔者把链接贴出来(看过的盆友可以跳过此步骤…)Java版-数据结...原创 2019-03-26 14:00:33 · 227 阅读 · 0 评论 -
Java版-数据结构-队列(循环队列)
前情回顾在上一篇,笔者给大家介绍了数组队列,并且在文末提出了数组队列实现上的劣势,以及带来的性能问题(因为数组队列,在出队的时候,我们往往要将数组中的元素往前挪动一个位置,这个动作的时间复杂度O(n)级别),如果不清楚的小伙伴欢迎查看阅读。为了方便大家查阅,笔者在这里贴出相关的地址:Java版-数据结构-数组Java版-数据结构-栈Java版-数据结构-队列(数组队列)为了解决数组队...原创 2019-03-26 14:02:41 · 145 阅读 · 0 评论 -
Java版-数据结构-链表
概要之前我们分别学习了解了动态数组、栈、队列,其实他们的底层都是依托静态数组来实现的、只是通过我们定义的resize方法来动态扩容解决固定容量的问题,那么我们即将学习的链表,它其实是一种真正的动态数据结构。介绍链表是一种最简单的动态数据结构,它能够辅助组成其它的数据结构,链表中的元素可存储在内存中的任何地方(不需要连续的内存,这一点和我们的数组具有很大的区别,数组需要连续的内存),链表中的每...原创 2019-03-30 10:59:22 · 176 阅读 · 0 评论