随笔分类 - Java集合的数据结构
计数排序_数组与集合时间比较
摘要:计数排序_数组与集合时间比较 Integer []与ArrayList比较 package com.m.demo; import java.util.ArrayList; import java.util.List; import java.util.Random; public class Tes
阅读全文
插入排序与二分查找与CopyOnWrite 写时复制思想
摘要:插入排序与二分查找 package com.m.test; import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import
阅读全文
java中Map遍历的四种方式
摘要:java中Map遍历的四种方式 在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历。 方法一:在for循环中使用entries实现Map的遍历: /** * 最常见也是大多数
阅读全文
二叉树、2-3 树、红黑树
摘要:二叉树、2-3 树、红黑树 二叉树、2-3 树、红黑树 一、满二叉树 二、完全二叉树 三、二叉查找树 四、平衡二叉树 4.1 插入原理 4.2 旋转问题 4.3 旋转操作 4.3.1 单旋转 4.3.2 双旋转 五、平衡查找树之 2-3 查找树(2-3 Search Tree) 5.1 将数据项放入
阅读全文
30张图带你理解红黑树
摘要:30张图带你彻底理解红黑树 当在10亿数据进行不到30次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。 终于,在学习了几天的红黑树相关的知识后,我想把我所学所想和所感分享给大家。红黑树是一种比较难的数据结构,要完全搞懂非常耗时耗力,红黑树怎么自平衡?什么时候需要左旋或
阅读全文
LeetCode题解——四数之和
摘要:LeetCode题解——四数之和 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/4sum/description/ 题目描述: 思路一:用Set集合来过滤重复元素 用
阅读全文
链表排序之堆排序
摘要:3. 链表排序之堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种**选择排序,**它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都
阅读全文
链表排序之快排与归并(递归与非递归)
摘要:链表排序之快排与归并(递归与非递归) 1.对链表进行快速排序 以【4,2,5,3,7,9,0,1】为例,我们来模拟一趟快排的过程。 **1、**初始化时,i指向链表首元素4;j = i +1,指向2。基准数字为当前i 指向的数字:4。 j 4 2 5 3 7 9 0 1 i **2、**随后开始循环
阅读全文
题解LeetCode--三数之和
摘要:三数之和--LeetCode015 我的LeetCode代码集:https://github.com/cnamep001/LeetCode 原题链接:https://leetcode-cn.com/problems/3sum/description/ 题目描述: 知识点:哈希表,对撞双指针 思路一:
阅读全文
JDK 8的HashMap源码解析
摘要:JDK 8的HashMap源码解析 感谢Neal Gafter、Arthur van Hoff、Josh Bloch、Doug Lea为我们提供了HashMap这一工具类,方便了诸多Java开发者的开发工作。 看再多的源码解析,自己不亲身去阅读源码,都是徒劳无功。 注释分析 为了我们能轻松地阅读源码
阅读全文
LinkedList原理分析
摘要:LinkedList的API boolean add(E object) void add(int location, E object) boolean addAll(Collection<? extends E> collection) boolean addAll(int location,
阅读全文
队列与LinkedList原理实现
摘要:栈与队列 栈与队列和String与stringBuilder演示 package com.m.list_impl; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; import java.uti
阅读全文
一文搞定HashMap的实现原理
摘要:HashMap在日常开发中基本是天天见的,而且都知道什么时候需要用HashMap,根据Key存取Value,但是存和取的时候那些操作却是很少去研究。同时在面试中也是面试官们必问的。 以下是基于JDK1.8 正文 先看看HashMap的结构图: 1. 先来认识一下HashMap中定义的一些需要了解的成
阅读全文
浙公网安备 33010602011771号