数据结构
数据结构探险篇学习记录
编程小透明
生如逆旅单行道,哪有岁月可回头。
展开
-
数据结构_5:链表与递归
链表与递归链表元素删除问题的解答问题描述:在链表[1, 2, 6, 3, 4, 5, 6] 中删除值为 6 的元素ListNode.java 结构说明public class ListNode { int val; ListNode next; ListNode(int x) {val = x;} /** * 链表节点构造函数,自定义 ...原创 2019-11-10 15:09:14 · 301 阅读 · 0 评论 -
数据结构_4:链表
链表 LinkedList写在开头许久之前文章提到过的:动态数组、栈、队列,其底层均依托于静态数组,通过resize()进行动态扩容操作。而链表,则为真正的动态数据结构,同样也是最简单的动态数据结构。链表这种数据结构可以帮助我们了解计算机中指针(引用)、递归等概念。节点 Node数据存储在节点中,需要多少节点就生产多少节点进行挂接,但失去了随机访问的能力,适合索引无语义的情况。...原创 2019-09-28 17:17:53 · 198 阅读 · 0 评论 -
数据结构_3:队列(数组队列 + 循环队列)
队列 Queue写在开头先进先出的线性数据结构(FIFO)只允许在表的前端(front)进行删除操作,而在表的后端(tail)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。数组队列的实现,结合动态数组,以接口的方式构建ArrayQueue<E>接口:Queue public interface Queue<...原创 2019-05-03 15:20:23 · 497 阅读 · 0 评论 -
数据结构_2:栈
栈 Stack写在开头线性结构,栈操作是数组操作的子集先进后出的数据结构(LIFO),只能从一端添加元素,也只能从一端取出元素,这一端称为栈顶栈的实现:复用动态数组,采用接口的方式进行构造ArrayStack<E>Stack接口: public interface Stack<E> { /** * 获取栈内元素容量 ...原创 2019-05-03 12:26:35 · 219 阅读 · 0 评论 -
数据结构_1:自己动手造轮子之动态数组
一、数组关于数组,指的就是一组有限的相关类型的变量集合。在Java语言中,简单数组并没有像Collections集合的相关操作接口,本文将对简单数组封装相应的操作接口从而形成类ArrayList的集合类为目标,并进行代码时间复杂度分析以及代码优化在开始之前,我们先对构造的Array类进行成员变量的说明:data:核心操作数组成员变量,为适应多种数据类型数据存储,将data设置为泛型数组...原创 2019-04-27 22:35:36 · 271 阅读 · 0 评论