
数据结构
文章平均质量分 79
库里不会投三分
会持续更新Java初阶到进阶实战的知识
展开
-
算法和数据结构的基础知识
第一讲算法的时间和空间复杂度原创 2022-04-16 20:04:15 · 451 阅读 · 0 评论 -
Map和Set集合
概念为什么存在这两个集合使用这两个集合基本上都是进行元素的查找 Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。以前常见的 搜索方式有: 1. 直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢 2. 二分查找,时间复杂度为 ,但搜索前必须要求序列是有序的上述排序比较适合静态类型的查找,即一般不会对区间进行插入和删除操作了,而现实中的查找比如: 1. 根据姓名查询考试成绩 2. 通讯录,即根据姓名查询联系方式 3原创 2022-05-21 14:29:40 · 851 阅读 · 0 评论 -
七大排序详细解析
堆排序原创 2022-05-21 09:50:09 · 469 阅读 · 1 评论 -
优先级队列(堆)
堆的概念按照优先级的大小动态出队(动态指的是元素个数的动态变化,而非固定),对比普通的队列是先入先出现实中的堆1操作系统中的任务调度,(一般内核任务的优先级是高于普通应用的) 2比如医院中,医生要按照病人的病情来动态安排手术,比如今天有三个病人,已经安排好明天手术的顺序,突然来了一个病重的病人,那么医生就得先给这个病人做手术优先级队列和普通队列的时间复杂度比较 入队时间复杂度 出队(最大值)时间复杂度 普通队列 O(1) O(n) 优先级队列 O(原创 2022-05-19 13:03:54 · 286 阅读 · 0 评论 -
数据结构之树结构
树形结构为什么存在树结构 为了高效查找与搜索语义例子如果我们学校中每个人都放在一个线性结构中,那我们如果找一个人,最坏的情况的O(n) 如果将一个学校的人按照树形结构存储,将一个学校的人分为5个级别,搜索一个特点的员工只要五次就能找到,时间复杂度的O(logN)定义:树是一种非线性的数据结构,它是由n(n>=0)个有限的结点组成一个具有层次关系的集合,被称为树,是因为它看上去像一个倒挂的树,也就是根在上,叶子在下 有一个特殊的节点,称为根节点,根节点没有...原创 2022-05-14 00:18:53 · 684 阅读 · 0 评论 -
数据结构之队列
什么是队列队列也是一个操作受限的线性表,它还是一种线性表 队列只允许在一头进行添加元素,这头被称为队尾 然后在另一头进行删除元素,这一头被称为队头 它的元素规律是先进先出(First In First Out)FIFO 模拟现实生活,就是我们生活中的排队队列队列的实现用什么实现我们知道队列每次都删除最前面的元素,所以我们用数组这中结构,是非常不方便的,因为数组想要删除最前面的元素,要把后面的元素都往前移动,所以我们用链表实现...原创 2022-05-13 11:49:21 · 259 阅读 · 0 评论 -
数据结构之栈
什么是栈通俗来说栈就是一个操作受限的线性表栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则 压栈(push)就是数据入栈的操作,就是数据放入栈顶 出栈 (pop) 就是数据出栈的操作,就是将栈顶元素取出例子栈的应用无处不在的撤销操作,比如编译器中ctrl+z返回上一步,运用的就是栈 浏览器中返回上一个网页,也用的...原创 2022-05-13 00:20:23 · 198 阅读 · 0 评论 -
Java集合框架的使用
集合框架初识List的使用常用子类ArrayList(底层是一个动态数组实现的线性表) LinkList(底层是双向链表实现的线性表)List的方法public class ListTest { public static void main(String[] args) { List<Integer> list=new LinkedList<>(); //List是一个接口,LinkList实现了这.原创 2022-05-12 11:23:57 · 753 阅读 · 1 评论 -
顺序表和链表 手撕链表深入解析链表实现
线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构常见的线性表 顺序表,链表,栈,队列,字符串(因为本质还是字符数组)......... 线性表就是让多个相同数据类型元素逻辑上呈直线排列,逻辑上连续(逻辑连续就是想象它是连续的,但现实中不一定是要由连续的内存实现),但是物理上不一定连续,这种数据结构就叫做线性表 线性表的存储在物理上通常用数组或者链式结构实现数组结构这种存储方式,在物理上是一个挨着一个,中间没有空隙,在.原创 2022-04-17 18:18:55 · 820 阅读 · 14 评论