logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【数据结构】三部曲:搞懂链表分类、掌握核心操作、复刻官方 LinkedList

如果你想找第 100 个元素,Java 会先看一共多少人。这意味着它既能当队列用(先进先出),也能当栈用(先进后出)。:手里有两张纸条,一张写着“下一站”,一张写着“上一站”。造一个新节点,让它的 next 指向 oldFirst。每个盒子要装三样东西:数据、前面的地址、后面的地址。把公司的“门牌号”(first)挂在新人头上。遍历链表,找到第一个匹配的元素并解除链接。:最后一个人手里拿着指向第一

#数据结构#链表
【数据结构】拆解 ArrayList:从内存布局到扩容机制实战

数组(Array)是一种线性表数据结构,它用一组连续的内存空间来存储相同类型的数据。每个元素占用相同大小的内存,通过下标(索引)可以直接计算出对应元素的内存地址。例如:一个会在内存中开辟一块连续的 5×4=20 字节的空间(假设 int 占 4 字节)。元素arr[0]的地址是起始地址,arr[1]的地址是起始地址+4,以此类推。// 存储元素的数组// 实际元素个数// 默认初始容量// 构造方

#java#数据结构
【数据结构】栈的艺术:从括号匹配到 ArrayDeque 的数组迁移实现

LIFO 特性:通过push和pop在数组末尾操作实现。数组实现:用数组存储,size记录元素个数,栈顶在size-1处。动态扩容:当数组满时,创建新数组并复制原数据,保证栈可以无限增长。数据迁移:扩容时的复制操作,是数组实现动态容量的核心。

#java#开发语言
【数据结构】当两个不同的 Key 撞在了一起:HashMap 的“事故”现场与急救指南

现实很骨感:不同的 key 经过哈希函数计算后,可能得到相同的下标。比如"apple"和"banana"都映射到了下标 3。这种情况称为哈希冲突(Hash Collision)。冲突是无法完全避免的,因为数组长度有限,而 key 的可能性无限。所以我们必须有办法解决冲突。K key;V value;// 指向下一个节点,用于拉链 public Entry (K key, V value, Entr

#数据结构#哈希算法#java
cf 1050 div4 C题题解具体分析

Farmer John 正在运行 FitnessGram 起搏器测试!农夫约翰花跑到体育馆的另一边。因此,在每一分钟开始时,FJ可以选择要么跑到健身房的另一边,要么留在原地。如果他选择跑到健身房的另一边,他会获得。FJ 将运行 Pacer 测试,直到开始m-第分钟。最初(在0-th minute),FJ 位于健身房的起始侧,我们将其表示为侧0.健身房的另一侧表示侧面1起搏器测试音频播放n次。在第a

#c语言#开发语言
到底了