首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
数据结构与算法
订阅
加菲爱吃鱼
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
深入理解hashmap(三)哈希表和二叉搜索树的恩怨情仇
前面两篇文章介绍了hashmap的源码和理论,今天把剩余的部分红黑树讲一下。理解好红黑树,对我们后续对hashmap或者其他数据结构的理解都是很有好处的。比方说为什么后面jdk要把hashmap中的单链表更新成红黑树? 父节点和子节点,这个我就不多说了。应该都知道。 如果某几个…
🌊刷掉 90% 候选人的互联网大厂海量数据面试题(附题解+方法总结)
1. 如何从大量的 URL 中找出相同的 URL? 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。 每个 URL 占 64B,那么 50 亿个 URL占用的空间大小约为 320GB。 由…
大量文件名记录的树形结构存储
十多年来,NAS中已经存在的目录和文件达到10亿之多,在设计和开发备份系统的过程中碰到了很多挑战,本文将分享大量文件名记录的树形结构存储实践。 既然是定期备份,肯定会有1次以上的备份。对于一个特定目录,每次备份时都要与上次备份时进行比较,以期找出哪些文件被删除了,又新增了哪些文…
Twitter雪花算法SnowFlake算法的java实现
算机中数据用补码表示,利用补码统一了符号位与数值位的运算,同时解决了+0、-0问题,将空出来的二进制原码1000 0000表示为-128,这也符合自身逻辑意义的完整性。因此八位二进制数表示范围为-128~+127。 你会发现,补码比其它码多一位,这是为什么呢?问题出在0上。 因…
十大排序算法全面解析-Java实现
算法就是编程的灵魂,不会算法的程序员只配做码农。之前看到这句话受到一万点暴击伤害!同时也激起了自己的斗志,坦白说作为一个程序员,我一直知道算法的重要性,但是在算法这一块一直做的不够好,甚至除了大学学过这门课程之后就很少去接触它。因为一开始我就给算法贴上了难,烦,不怎么用的标签,…
HashMap 查漏补缺
HashMap 是面试的钉子户了,网上分析的文章也有很多,相信大家对于原理已经烂俗于心了。但最近在看源码时,发现其中一些实现细节其实不太好理解,所以决定以问答的形式在这里记录一下,写的时候尽量把原因说明白。 容量并不是指 HashMap 所能存储的键值对数量,而是其内部的 ta…
深入理解HashMap(一)
hashmap我们都用过很多次了,主要目的就是为了加快我们的查找速度。我们学过数据结构的都知道,数组的查询和修改速度很快,但是增加一个元素或者删除一个元素就很慢,但是链表就反过来,链表是增加和删除一个元素很快,查询和修改就很慢。 通常来说,我们为了提高查询的速度,那么在插入元素…
深入理解hashmap(二)理论篇
代码分析,没有从理论上分析hashmap,今天把hashmap的理论部分补充一下(之后应该还有两篇补充 一篇讲红黑树一篇讲多线程)。 简单来说 散列函数主要就是:将一个二进制串 通过一定的算法计算以后 得到一个新的二进制串。这个计算的方法就是散列函数。 1.通过哈希值不能得到原…