Java数据结构基础+总结
文章平均质量分 77
本栏主要包括:数据结构的系统学习的基本知识点以及自己学习过程中的学习心得和问题的总结、分享度热门总结,以知识点加实例得形式展示,希望自己学习的过程中也能得到您宝贵的建议!!
Yile&&G椿琳
这个作者很懒,什么都没留下…
展开
-
简单的洗牌算法Java加LeetCode刷题
【代码】简单的洗牌算法Java加LeetCode刷题。原创 2024-05-01 10:51:30 · 423 阅读 · 2 评论 -
Java数据结构-模拟实现ArrayList
计数器。原创 2024-05-01 10:49:11 · 369 阅读 · 2 评论 -
包装类&简单认识泛型
传入的T要是实现了compare接口的,不然不能够比较让Person实现compare接口就可以解决报错问题。原创 2024-04-29 22:20:52 · 336 阅读 · 0 评论 -
Java数据结构前置知识FollowUp
虽然定义的 end i 等 但每次循环只是在原来的基础上改了val。原创 2024-04-29 15:52:21 · 185 阅读 · 1 评论 -
排序-八大排序FollowUp
最坏情况下:0(n^2)最好情况下:0(n)当数据越有序 排序越快适用于: 待排序序列 已经基本上趋于有序了!空间复杂度:0(1)稳定性:稳定的。原创 2024-04-27 22:24:35 · 1183 阅读 · 1 评论 -
PriorityQueue—优先级队列FollowUp
Q1:但不知道是大根堆化石小根堆但当只有一个offer的时候就不会有异常A:因为只有一个元素的时候没有比较。原创 2024-04-26 15:32:18 · 240 阅读 · 1 评论 -
PriorityQueue(一)——用堆实现优先级队列
因为堆是一棵完全二叉树,所以可以使用数组存储。所以,首先需要创建数组,并对数组分配内存和初始化,模拟实现包括创建大根堆、向下调整、插入、删除等功能,其中这些功能需要许多交换、判断isFull或者empty,所以这些可以单独写一个方法完整代码可以参考我的码云:PriorityQueue(一)——用堆模拟实现优先级队列堆是一棵完全二叉树,因此可以层序的规则采用顺序的方式来高效存储。包括:数组、记录元素个数的计数器 数组创建完成,1,首先分配内存2、其次数组的初始化 创建大根堆: usedSize是元素原创 2024-04-25 17:27:21 · 929 阅读 · 1 评论 -
Java数据结构之二叉树—模拟实现+OJ练习
不管是哪种方法遍历,可以想象在最后一个结点的时候代码会打印哪个字母。原创 2024-04-22 22:25:21 · 839 阅读 · 1 评论 -
Java数据结构之二叉树—理论图文篇
一对一的线性结构,如顺序表和链表,但还有很多一对多的情况,所以引入“树”,一对多的结构。概念:一棵二叉树是结点的一个有限集合,该集合:1. 或者为空2. 或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。从上图可以看出:1. 二叉树不存在度大于2的结点2. 二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树注意:对于任意的二叉树都是由以下几种情况复合而成的:1. 若规定根结点的层数为1,则一棵非空二叉树的第i层上最多有2^i - 1(i>0)个结点2. 若。原创 2024-04-22 12:49:02 · 847 阅读 · 1 评论 -
Java数据结构之队列(Queue)-模拟实现
本篇会用到理论篇的只是点,理论介绍可以点击查看。原创 2024-04-19 13:22:25 · 777 阅读 · 1 评论 -
Java数据结构之队列(Queue)-理论图文形式
把队列的这种头尾相接的顺序存储结构称为循环队列,也就是原来的线性数组首尾相连,抽象成了上面圆形循环的数组了当队列为空的时候,front和rear指向一致如图一,但循环列表满了的时候,也是如此front = rear,如图二图一:1.定义一个usedSize 来记录大小判断是否满2.定义一个flag判断3.使用公式:当队列空时,条件就是front=rear,当队列满时,我们修改其条件,保留一个元素空间。也就是说,队列满时,数组中还有一个空闲单元。原创 2024-04-17 18:42:43 · 756 阅读 · 1 评论