随笔分类 -  数据结构与算法

摘要:正文 红黑树也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的平衡的操作时,需要重新自处理达到平衡状态。现在在脑海想下怎么实现?是不是太多情景需要考虑了?啧啧,先别急,通过本文的学习后,你会觉得,其实也不过如此而已。 阅读全文
posted @ 2020-03-18 01:49 洁瑞小弟 阅读(165) 评论(0) 推荐(0)
摘要:数据模型 规则: 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意节点的左、右子树也分别为二叉查找树; 没有键值相等的节点。 插入过程: 若二叉排序树为空,则待插入结点S作为根结点插入到空树中; 当非空时 阅读全文
posted @ 2020-03-16 14:46 洁瑞小弟 阅读(231) 评论(0) 推荐(0)
摘要:链表结构介绍: 一种重要的数据结构,HashMap等集合的底层结构都是链表结构。链表以结点作为存储单元,这些存储单元可以是不连续的。每个结点由两部分组成:存储的数值+前序结点和后序结点的指针。即有前序结点的指针又有后序结点的指针的链表称为双向链表,只包含后续指针的链表为单链表,本文总结的均为单链表的 阅读全文
posted @ 2020-03-05 00:35 洁瑞小弟 阅读(179) 评论(0) 推荐(0)
摘要:1 /* 2 * 使用数组实现循环队列 3 */ 4 public class ArrarImplyQueue { 5 //底层数组 6 private Object[] arr; 7 //用于指向队列头部 8 private int front; 9 //用于指向队列尾部 10 private i 阅读全文
posted @ 2020-02-28 02:16 洁瑞小弟 阅读(396) 评论(0) 推荐(0)
摘要:介绍:稀疏数组是一种对普通二维数组进行简洁描述表达的数组,即将数据量庞大的普通二维数组进行压缩记录的一种手段,并不是所有二维数组都可以转换为稀疏数组,这里说的普通数组是指值无效数据量远大于有效数据量的数组。 示例普通二维数组,如图 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 阅读全文
posted @ 2020-02-24 00:20 洁瑞小弟 阅读(209) 评论(0) 推荐(0)
摘要:1 public static void maopaoSort(int[] array){ 2 for(int i = 0 ; i < array.length ; i++){ 3 for(int j = i+1;j < array.length ; j++){ 4 if(array[i] > ar 阅读全文
posted @ 2019-08-23 01:05 洁瑞小弟 阅读(142) 评论(0) 推荐(0)
摘要:public static void quickSort(int[] array,int start,int end){ int i = start; int j = end; int index = i+(int)((j-i)*Math.random()); int tem = array[i]; 阅读全文
posted @ 2019-08-23 01:03 洁瑞小弟 阅读(94) 评论(0) 推荐(0)