
数据结构
文章平均质量分 90
总结数据结构的笔记(Java)
爱吃小料的毛孩子
这个作者很懒,什么都没留下…
展开
-
数据结构之Map和Set总结
一、概念与模型1.概念:Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。以前常见的搜索方式有: ①直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢 ②二分查找,时间复杂度为O(logN),但搜索前必须要求序列是有序的 。上述排序比较适合静态类型的查找,即一般不会对区间进行插入和删除操作了,而现实中的查找比如: ①根据姓名查询考试成绩 ②通讯录,即根据姓名查询联系方式 ③不重复集合,即需要先搜索关键字是否已经在集合中,可能在查找时进行一些插入和删除的原创 2022-04-23 12:17:42 · 3054 阅读 · 0 评论 -
数据结构之排序
一、概念1.排序排序:就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。通常意义上的排序,都是指的原地排序(in place sort)2.稳定性两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化,则我们称该算法是具备稳定性的排序算法3.常见基于比较的排序总览二、插入排序1.原理:整个区间被分为①有序区间②无序区间,每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入。过程如图所示:就拿12 5 9 4 10这组数据为例原创 2022-04-19 22:15:20 · 1278 阅读 · 0 评论 -
数据结构之优先级队列(堆)
一、二叉树的顺序存储使用数组保存二叉树结构,方式即将二叉树用层序遍历方式放入数组中。 一般只适合表示完全二叉树,因为非完全二叉树会有空间的浪费。 这种方式的主要用法就是堆的表示。如图所示:下标的一些关系:已知双亲(parent)的下标,则: 左孩子(left)下标 = 2 * parent + 1; 右孩子(right)下标 = 2 * parent + 2; 已知孩子(不区分左右)(child)下标,则: 双亲(parent...原创 2022-03-29 12:07:50 · 5026 阅读 · 0 评论 -
Java对象的比较
一、基本类型的比较原创 2022-03-28 22:49:33 · 2977 阅读 · 0 评论 -
数据结构之二叉树
一、树形结构原创 2022-03-22 22:18:28 · 1232 阅读 · 0 评论 -
数据结构之队列
目录一、什么是队列Queue二、Queue的一些方法三、什么是双端队列Deque四、Deque的一些方法五、队列Queue的实现六、循环队列一、什么是队列Queue1.队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 2.入队列:进行插入操作的一端称为队尾(Tail/Rear)3.出队列:进行删除操作的一端称为队头(Head/Front)二、Queue的一些方..原创 2022-03-18 11:46:27 · 497 阅读 · 0 评论 -
数据结构之栈
一、栈的概念1.栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则2.压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶3.出栈:栈的删除操作叫做出栈。出数据在栈顶4.别的一些栈:(1)虚拟机栈(JVM Stack): 一块具有栈的特性的内存,重点是存储局部变量表(当然也有其他信息) 栈帧:在调用函数时...原创 2022-03-15 21:38:00 · 973 阅读 · 0 评论 -
数据结构之List
一、初始泛型1.我们之前实现过一个顺序表,但是那个顺序表只能存放一种数据类型,不通用,我们也已知 Object 是 java 中所有类的祖先类,所以我们可以对之前的顺序表稍微改改,改成什么都可以放的class MyArrayList{ private Object[] elem; private int usedSize; public MyArrayList(){ this.elem = new Object[10]; } public原创 2022-02-28 19:48:22 · 2817 阅读 · 0 评论 -
数据结构之集合框架
目录一、什么是集合二、接口interface1.Collection常用方法说明2.Map接口使用示例常用方法说明一、什么是集合Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。 其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipu.原创 2022-02-22 19:57:12 · 558 阅读 · 0 评论