![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
常见的数据结构:数组、链表、栈、队列、等等
我爱吃回锅肉
初学java,必须学会写笔记,嘿嘿,我的博客全是我的笔记。排班太乱,大家多多理解
展开
-
链表(java版)
链表链表是一种真正的动态数据结构,不需要处理固定容量的问题,但是丧失了随机访问的能力,是最简单的动态数据结构,链表是一种递归的数据结构,我们可以通过链表来了解递归。我们一般把数据储存在节点(Node)中,在java中,我们一般会用一个内部类来表示节点。class Node{ public E e; public Node next; }对于链表来说,我们对其进行一般的操作,具体代码如下:/** *一般链表头为head,在这里我们用的是虚拟头结点(dummyhead) * 链表的原创 2020-07-13 22:52:45 · 130 阅读 · 0 评论 -
数据结构之队列(数组队列,循环队列 java实现)
对于队列来说我们可以基于数组和队列写一个,这里我会介绍队列的一些特性,并且通过循环队列来进行对空间复杂度的优化,最后我们可以通过两种队列的不同效率可以明显的看出。public interface Queue<E> { int getSize(); boolean isEmpty(); void enqueue(E e); void dequeue(); E getFront();}/** * 对于队列来说我们一般5个方法,队列是一个先入先出(FI原创 2020-07-02 22:58:21 · 118 阅读 · 0 评论 -
数据结构之栈(java版)
栈和队列是两种不同的底层数据结构,两种数据结构都是线性结构但是却有本质本质上的区别。栈是一种先进后出的储存模式,比如:数据的入栈顺序是A、B、C、D、E、F,但是它的出栈顺序为F、E、D、C、B、A。而在队列中,数据的入栈顺序为A、B、C、D、E、F并且它的出队顺序也为A、B、C、D、E、F那么,我们也可以根据栈与队列的性质在动态数组的基础上做一个CURD。对于栈来说,我们通常定义push为入栈...原创 2019-09-17 20:55:39 · 105 阅读 · 0 评论 -
数据结构之数组(java版)
数组是一种比较简单的数据结构,但是无论你是使用哪一种语言,都会使用数组。数组,顾名思义,把数据码成一排进行存放| | | | | | | | |上面有八个连续的空间分别代表数组的八个元素,而在数组中比较重要的一点就是数组的索引,数组的索引(index)是从0开始记录的,索引为0的元素是第一个元素,以此类推。而我们需要做的是做一个简单的CURD。...原创 2019-09-13 15:44:39 · 140 阅读 · 0 评论