![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
-小帅
加油向未来
展开
-
后端常考的算法题 整理
K 个一组翻转链表 4 121.买卖股票 4 三数之和 3 最小栈 3 二叉树中的最大路径和 3 199.二叉树的右视图 3 无重复字符的最长子串 3 合并两个有序数组 3 将有序数组转换为二叉搜索树 3 平衡二叉树 3 二叉树的最近公共祖先 3 搜索旋转排序数组 3 零钱兑换 3 删除排序链表中的重复元素 2 反转链表 2 class Solution { public ListNode reverseList(ListNode head) { ListNode curr = .原创 2021-12-20 19:24:51 · 696 阅读 · 0 评论 -
数据结构篇-HashMap(JDK1.8版本)的优化【源码解读】
HashMap[JDK1.8]的优化【源码解读】目录介绍1.链表会变为红黑树2.扩容后的重新hash2.hashcode的计算方式 目录介绍 首先我们知道,hashmap扩容是原长度的2倍,接着会进行rehash,也就是将原来的数据,进行重新计算hash值。 在jdk1.8中,进行了优化。优化了以下几点: 1.链表会变为红黑树 1.7中由于链表太长,导致查询速度变慢(链表查找的时间复杂度为 O(n)),形如 而在1.8中如果链表长度超过8,并且数组长度>=64,则变为红黑树(查找时间复杂度O(lo原创 2020-09-21 14:38:25 · 518 阅读 · 2 评论 -
红黑树源码解读,附带【左旋/右旋】动图 (代码不想看 或看不懂 直接越过看总结)
源码解读 红黑树介绍 平衡插入算法(插入的节点默认为红色) 左旋算法 总结: 变颜色条件:两个连续红色节点,并且叔叔节点是红色 左旋条件:两个连续红节点,并且叔叔节点是黑色 , 下面的红色节点在右子树 情况1 情况2 右旋条件:两个连续红节点,并且叔叔节点是黑色 , 下面的红色节点在左子树 情况1 情况2原创 2020-07-30 11:29:40 · 5111 阅读 · 0 评论