自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 红黑树Java语言实现

红黑树Java语言实现红黑树的用途红黑树的定义红黑树高效的原因红黑树的插入1. 最简单的情况——插入根节点2. 也很简单的情况——新节点的父亲是黑色的3. 新节点的父亲是红色的3.1 新节点的叔叔是红色的3.2 新节点的叔叔是黑色的3.2.1 LL形式3.2.2 LR形式3.2.3 RR形式3.2.4 RL形式红黑树 vs AVL树红黑树Java实现红黑树的用途用于快速查找元素,或者说快速根据关键字查询值。和散列表不同,散列表是利用散列函数建立单向映射实现快速查找。红黑树属于二叉查找树,它使得树的深度保

2020-09-18 10:48:47 1015 1

原创 Louvain社区划分算法及Java语言实现

Louvain社区划分算法及Java语言实现社区划分算法处理的对象合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入社区划分算法处理的对象社区划分算法又称社区发现算法,针对网络数据结构,对节点分组合理的创建标题,有助于目录的生成直接输入

2020-09-11 19:38:38 2469 1

原创 基数排序及Java实现(学习笔记)

基数排序及Java实现(学习笔记)1.比较的对象是整数或者可以转化为整数2.设整数最大位数为d,且是r进制(基数为r)的。比如d=3,r=10的1个序列[001,100,200,201,210,211]满足1,2条件的序列才能用基数排序3.步骤(1)首先初始化r个队列,[Q0,Q1,Q2,…Qr-1],设序列为[a0,a1,a2,…an-1](2)排序每一趟分为两个步骤,分配和收集...

2020-02-08 13:26:01 187

原创 2-路归并排序以及Java实现(学习笔记)

2-路归并排序以及Java实现(学习笔记)1.步骤(1)把n个有序表两两组合,组合要保证新序列有序,得到ceil(n/2)个序列。(ceil表示向上取整)(2)2-路归并排序就是重复步骤(1),直到只有1个序列。(3)举例说明(非常简单):2.性能分析(1)时间复杂度最好最坏平均情况下都是O( nlog(n) )因为序列两两组合趟数为ceil( log(2,n) ),而两两组合需...

2020-02-05 15:25:29 147

原创 快速排序以及Java实现(学习笔记)

快速排序以及Java实现1.快速排序属于交换排序,根据比较结果交换元素达到排序的目的。2.快速排序是对冒泡排序的改进,推荐查看之前的博客(https://blog.csdn.net/weixin_42111859/article/details/104132520),里面有介绍冒泡排序。1.快速排序过程1.设序列L[1,2,3,…n],如果L[1,2,3,…,k-1]所有值都小于L[k],...

2020-02-04 16:50:38 139

原创 二叉堆/堆排序概念理解以及Java语言实现(学习笔记)

二叉堆/堆排序(1)满二叉树:每一层都达到了最大节点数,高度为h的满二叉树节点数为pow(2,h)-1(2)完全二叉树:高度为h的二叉树每一个节点都和高度为h的满二叉树节点编号一一对应,那么它就是满二叉树。[1] 高度为h的完全二叉树节点数取值范围[pow(2,h-1),pow(2,h)-1],可见完全二叉树的高度是O( log(n) )的[2] 满二叉树是特殊的完全二叉树(3)根节点编...

2020-02-03 14:30:35 341 1

原创 直接插入排序、冒泡排序和简单选择排序以及Java代码实现(平均时间复杂度为O(n^2)的排序方法)

直接插入排序、冒泡排序和简单选择排序(平均时间复杂度为O(n^2)的排序方法)(1)O(n^2)的时间复杂度是比较大的,所以不适用于大量数据。(2)这三种方法都是基于比较和交换的。(3)这三种方法都是内部排序,元素的存储和额外的空间开销都在内存内。外部排序指的是需要同时利用外存和内存,元素在外存和内存间移动。(可能元素的数量比较大)1.直接插入排序(1)插入排序概念:对于每一个待排序序列...

2020-02-01 15:27:43 1640 1

原创 散列表的概念理解以及Java HashMap原理分析(学习笔记)

散列表的概念理解(学习笔记)数组下标索引是最快速的访问方式,前提是我明确知道下标。但我可能只知道对象的唯一标识(关键字)来查找,散列表就是一种不错的方式。1.散列函数同一关键字一定计算出同一个散列值,不同关键字有几率计算出同一个散列值,这种情况称为冲突/碰撞。散列值可以理解为数组下标。散列值尽可能的均匀分布,减少碰撞的发生。1.1 散列函数的构造方法(1)模除(除留余数法)hash=k...

2020-01-30 15:45:34 1418 1

原创 B+树概念理解(学习笔记)

B+树概念理解(学习笔记)1.B+树是对B树的变种,推荐阅读我的上篇博客(https://blog.csdn.net/weixin_42111859/article/details/104060173),里面有关于B树的概念理解,两者是十分相似的。2.B+树和B树主要差异:(1)B+树节点关键字个数等于子树个数,非根节点关键字个数取值范围是[ceil(m/2),m]。如果根节点不是唯一的节点...

2020-01-26 10:41:33 902

原创 B树概念理解(学习笔记)

B树概念理解(学习笔记)(1)AVL树已经能够较大程度减少树的深度,但是希望有更少的磁盘I/O次数,从而引入了B树。(2)推荐查看我的上一篇博客(https://blog.csdn.net/weixin_42111859/article/details/104022444),里面有关于AVL树的理解过程1.m叉树...

2020-01-21 18:02:31 475 1

原创 AVL树Java语言实现

AVL树理解、证明

2020-01-21 10:28:19 357

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除