数据结构
文章平均质量分 51
weixin_43890049
小白探索之路!!!
展开
-
jdk1.7中hashMap死锁详解
死锁发生的条件在hashMap扩容时,且在多线程访问时可能发生死锁。分析生成一个hashMap的初始table。public static void main(String[] args) { // 测试 java 7 中哪些数字的 hash 结果相等 System.out.println("长度为16时,桶下标为1的key"); for (int i = 0; i < 64; i++) { if (hash(i) %原创 2021-08-24 17:46:32 · 1237 阅读 · 0 评论 -
Jdk1.7HashMap底层原理
简介基于哈希表的 Map 接口的实现HashMap是线程不安全的,在多线程下可能出现问题,而HashTable是线程安全的。HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。将在下文介绍。源码分析Entry类型存储//用于存储Node节点,由上图所示static class Entry<K,V> implements Map.Entry<K,V> { final K key; //键 V value; //值原创 2021-08-20 18:25:51 · 84 阅读 · 0 评论 -
快速排序(Java)
快速排序(Java)package com.lx;import java.util.Arrays;/** * @author lx * @version 1.0 * @description: 快速排序 * @date 2021/8/20 17:29 */public class QuickSort1 { private static void quicksort(int[] nums,int begin,int end){ //当数组只剩一个元素或没有元素原创 2021-08-20 17:51:14 · 41 阅读 · 0 评论 -
平衡二叉树、B树、B+树和B*树知识点总结
平衡二叉树非叶子节点最多拥有两个子节点;非叶子节值大于左边子节点、小于右边子节点;树的左右两边的层级数相差不会大于1;没有值相等重复的节点平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度B树描述B树时,需要指定它的阶数,M阶树表明一个节点最多有M-1个关键字,M个子节点也称B-树,它是一颗多路平衡查找树每个节点最多有m-1个关键字根节点原创 2021-08-19 22:28:38 · 189 阅读 · 0 评论 -
哈夫曼树和哈夫曼编码
概念介绍路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。如下图,L为路径长度。结点的权若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权,如下图,W为权值。带权路径长度从根结点到该结点之间的路径长度与该结点的权的乘积。A的带权路径长度:L1 X W1 = 15B的带权路径长度:L2 X W2 = 40C的带权路径长度:L3 X W3原创 2021-08-19 11:10:03 · 141 阅读 · 0 评论