前言:小编这有自学的过程中有一些资源可以免费共享,
【内涵Java学习80g视频,大厂面试题库,Java学习书籍,或者技术指导】
加微信领取【备注007】
1. 数据结构定义
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
数组:物理存储单元上连续、顺序的存储结构
链表:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
队列:队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
栈:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。
堆:堆通常是一个可以被看做一棵完全二叉树的数组对象。将根结点最大的堆叫做最大堆或大根堆,根结点最小的堆叫做最小堆或小根堆。建堆时间复杂度O(n),堆总是满足下列性质:堆总是一棵完全二叉树;堆中某个结点的值总是不大于或不小于