随笔分类 - 数据结构
摘要:红黑树是一种可以实现自平衡的二叉查找树,具有以下4个规范: 1)所有节点都是红色或者黑色; 2)根节点和空节点必须为黑色; 3)父节点和子节点不能同时为红色,但可以同时为黑色; 4)从根节点出发,到任意叶子节点,数出的黑色节点数目必须一样。 红黑树的基本操作有两种: 1)recolor; 2)rot
阅读全文
摘要:public class GreatestCommonDivisor { /** * 判断最大公约数: * 1)当a b均为偶数,就求a/2和b/2的最大公约数,再*2 * 2)当a为偶数 b为奇数,就求a/2和b的最大公约数。之所以a/2和b的最大公约数等于a和b的最大公约数, * 是因为a=2*
阅读全文
摘要:1.交换排序 1.1冒泡排序 冒泡排序的时间复杂度是O(n^2)。基本思路是,未排序元素两两比较并交换,选出最大(小)的元素放到已排序元素区的头部。 冒泡排序有两个可以优化的点: 1)在某轮排序中,如果一次交换都没有发生,说明序列已经排好序,可以直接退出排序了; 2)在某轮排序中,如果某次交换后(设
阅读全文
摘要:1.二叉堆的概念 二叉堆是一种特殊的完全二叉树,分为最小二叉堆和最大二叉堆。可以用来构建优先队列。 最小二叉堆:所有父节点都小于等于子节点的完全二叉树; 最大二叉堆:所有父节点都大于等于子节点的完全二叉树。 2.二叉堆的操作 2.1添加节点 新的节点将被作为完全二叉树的最后一个节点进行添加。然后再进
阅读全文
摘要:1.树的基本概念: 1)根节点:指树中最上层的那个节点,整个树中有且仅有1个; 2)父节点:指与某个节点直接相连的上层节点,除根节点以外的每个节点最多有1个父节点; 3)兄弟节点:指父节点相同的同级节点; 4)子节点:该节点衍生出来的与该节点直接相连的节点称为子节点; 5)叶子节点:没有子节点的节点
阅读全文
摘要:1.哈希函数的概念: 哈希函数是将一组任意长度的串映射为固定长度的字符串。在JAVA中,求对象的哈希值是用.hashCode()方法。该方法在Object中已经有实现。 2.哈希表 哈希表是指使用对象的哈希值作为对象的索引的数组。 3.哈希表的写入 4.哈希冲突(哈希碰撞) 当要插入的两个不同的对象
阅读全文

浙公网安备 33010602011771号