![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java数据结构与算法
文章平均质量分 84
小熊学Java
2年互联网金融方面的工作经验,CSDN Java领域优质创作者,阿里云社区博客专家,51CTO博客专家博主,担任过项目技术负责人,目前专攻于Java领域,也是全栈工程师哦!
展开
-
Java并查集设计以及路径压缩实现
并查集是一种树型的数据结构 ,并查集可以高效地进行如下操作:- 查询元素p和元素q是否属于同一组- 合并元素p和元素q所在的组原创 2024-01-13 20:10:20 · 1076 阅读 · 0 评论 -
B-树和B+树的特性,以及B+树在数据库中的应用
由于B+树在非叶子结点上不包含真正的数据,只当做索引使用,因此在内存相同的情况下,能够存放更多的key。由于B树的每一个节点都包含key和value,因此我们根据key查找value时,只需要找到key所在的位置,就能找到value,但B+树只有叶子结点存储数据,索引每一次查找,都必须一次一次,一直找到树的最大深度处,也就是叶子结点的深度,才能找到value。在实际应用中B树的阶数一般都比较大(通常大于100),所以,即使存储大量的数据,B树的高度仍然比较小,这样在某些应用场景下,就可以体现出它的优势。原创 2024-01-11 12:59:17 · 1170 阅读 · 0 评论 -
Java平衡树--红黑树,如何平衡化以及操作实现
红链接均为左连接没有任何一个节点同时和两条红链接相连该树是完美黑色平衡的,即是任意空链接到根节点的路径上的黑链接数量相同。原创 2024-01-11 12:57:15 · 1209 阅读 · 0 评论 -
Java平衡树--查找树的新建与树的实现
一棵2-3查找树要么为空,要么满足满足下面两个要求:2-结点含有一个键(及其对应的值)和两条链,左链接指向2-3树中的键都小于该结点,右链接指向的2-3树中的键都大于该结点。3-结点含有两个键(及其对应的值)和三条链,左链接指向的2-3树中的键都小于该结点,中链接指向的2-3树中的键都位于该结点的两个键之间,右链接指向的2-3树中的键都大于该结点。原创 2024-01-10 13:23:31 · 903 阅读 · 0 评论 -
Java索引优先队列设计思路与实现
Java 学习+面试指南:https://javaxiaobear.cn。原创 2024-01-09 17:25:25 · 900 阅读 · 0 评论 -
Java 最小优先队列API设计与实现
Java 学习+面试指南:https://javaxiaobear.cn。原创 2024-01-09 17:23:57 · 395 阅读 · 0 评论 -
Java最大优先队列设计与实现
Java 学习+面试指南:https://javaxiaobear.cn。原创 2024-01-07 23:08:48 · 577 阅读 · 0 评论 -
Java 堆的设计,如何用堆进行排序
堆是计算机科学中一类特殊的数据结构的统称,堆通常可以被看做是一棵完全二叉树的数组对象。原创 2024-01-07 23:05:35 · 886 阅读 · 0 评论 -
Java二叉树的遍历以及最大深度问题
树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家谱、单位的组织架构、等等。树是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。每个结点有零个或多个子结点;没有父结点的结点为根结点;每一个非根结点只有一个父结点;每个结点及其后代结点整体上可以看做是一棵树,称为当前结点的父结点的一个子树;原创 2024-01-07 23:01:00 · 1089 阅读 · 0 评论 -
数据结构与算法——符号表API设计及有序符号表设计
符号表最主要的目的就是将一个键和一个值联系起来,符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据,我们可以根据键来查找对应的值。符号表中,键具有唯一性。原创 2024-01-01 20:47:49 · 445 阅读 · 0 评论 -
线性表之队列API设计思路
Java学习手册+面试指南:https://javaxiaobear.cn队列是一种基于先进先出(FIFO)的数据结构,是一种只能在一端进行插入,在另一端进行删除操作的特殊线性表,它按照先进先出的原则存储数据,先进入的数据,在读取数据时先读被读出来。原创 2023-12-29 11:31:51 · 395 阅读 · 0 评论 -
线性表:顺序表的实现以及遍历扩容
Java学习手册+面试指南:https://javaxiaobear.cn顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元,依次存储线性表中的各个元素、使得线性表中再逻辑结构上响铃的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。原创 2023-12-29 10:53:18 · 982 阅读 · 0 评论 -
栈:从简单栈到解决经典栈问题
Java学习手册+面试指南:https://javaxiaobear.cn栈是一种基于先进后出(FILO)的数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。我们称数据进入到栈的动作为压栈,数据从栈中出去的动作为弹栈。原创 2023-12-29 10:49:18 · 359 阅读 · 0 评论 -
链表:如何利用“假头,新指针,双指针”解决链表问题
链表是一种线性数据结构,其中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起。链表是一种物理存储单元上非连续、非顺序的存储结构,其物理结构不能只管的表示数据元素的逻辑顺序,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列的结点(链表中的每一个元素称为结点)组成,结点可以在运行时动态生成。原创 2023-12-28 22:29:50 · 875 阅读 · 0 评论 -
高级排序之希尔排序,归并排序,快速排序详解
Java学习+面试指南:https://javaxiaobear.cn。原创 2023-12-28 11:03:52 · 1059 阅读 · 0 评论 -
从简单排序到冒泡、选择、插入排序,解决排序问题
Comparable接口用于元素之间的比较。原创 2023-12-27 14:18:56 · 955 阅读 · 0 评论 -
Java数据结构与算法初认识以及带你如何进行算法分析
算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。简单的说:根据一定的条件,对一些数据进行计算,得到需要的结果。原创 2023-12-27 11:07:52 · 801 阅读 · 0 评论