首页
学习
活动
专区
圈层
工具
发布

#链表

算法之双指针算法:高效遍历的艺术

紫风

双指针法通过两个指针的协同移动,在单次遍历中完成需要多重循环的任务。主要分为两种类型:

2110

简单使用java创建出单向链表类

用户11865655

我们如何清除链表呢?我们知道链表由头节点开始,那么将头结点的指针清空不就清空链表了?

2810

后来者居上与先来后到:栈和队列的顺序哲学及算法实战(含源码)

用户11862565

1 . 用链表实现栈时,若头结点位置是栈顶、尾节点位置是栈底,增删数据(操作栈顶)很快,时间复杂度是 O (1),但是使用链表需要不断移动指针来确定栈顶和栈底的...

4610

链表实战指南:手动实现单链表与双链表的接口及OJ挑战(含完整源码)

用户11862565

链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。

4310

数据结构——链表(2)——双向链表

用户11861691

        在数据结构的世界里,链表是一种重要的线性存储结构,它通过指针将零散的节点串联起来,实现数据的存储和访问。在链表的使用中,除了无头单向不循环链表外...

3810

链表OJ习题(2)

用户11861691

https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa

3410

链表OJ习题(1)

用户11861691

本篇博客深入解析了经典的链表OJ习题,旨在帮助读者掌握链表操作的核心技巧与解题思路,如快慢指针、双指针等。通过对典型例题的剖析,助你巩固数据结构基础。

5510

区块链的哈希链表与MerkleTree

密码学人CipherHUB

腾讯科技 | 高级开发工程师 (已认证)

由该区块的区块头内容(包括版本号、时间戳、随机数、难度目标、以及至关重要的Merkle根哈希等)通过密码学哈希函数(如SHA-256)计算得出。它唯一地代表了该...

19510

为什么jdk1.8之前HashMap是由List+链表组成?

贺公子之数据科学与艺术

链表是由一系列节点组成的数据结构,每个节点包含一个数据元素和一个指向下一个节点的指针。链表的特点是插入和删除操作比较高效,但是查找操作需要遍历整个链表。

15710

链表与二叉树-数据结构

贺公子之数据科学与艺术

0 0 0 0 0 1 2 0 0 23 0 0 0 0 0 0 0 0 0 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 ...

6610

Java中的阻塞队列

贺公子之数据科学与艺术

LinkedBlockingQueue是一个用链表实现的有界阻塞队列。此队列的默认和最大长度为Integer.MAX_VALUE。此队列按照先进先出的原则对元素...

16610

【集合框架HashMap扩容机制】

艾伦耶格尔

本文将带你深入 JDK 源码,从数据结构、扩容流程、参数设计原理到红黑树转换机制,全面剖析 HashMap 的底层实现。

15010

【集合框架HashMap底层原理】

艾伦耶格尔

HashMap 是 Java 集合框架中最核心、最常用的数据结构之一。它基于哈希表实现,提供了接近 O(1) 的平均时间复杂度的 put 和 get 操作。然而...

13710

【集合框架LinkedHashSet底层原理】

艾伦耶格尔

当你描述 "索引3挂了元素2、3" 时,你指的是 HashMap 的桶(bucket)里通过链表(或红黑树)挂载了多个哈希冲突的元素。但 LinkedHashS...

11610

【集合框架LinkedList底层添加元素机制】

艾伦耶格尔

今天,我们将深入 LinkedList 的源码,一步步剖析它作为双向链表的精妙设计。通过这篇解析,你将彻底明白 LinkedList 是如何通过 first 和...

11710

【集合框架Map接口】

艾伦耶格尔

答: HashMap 基于“哈希寻宝法”。put 时,先对 key 计算哈希值,定位到数组的“宝箱”(桶)。如果“宝箱”为空,直接放入;如果冲突,则以链表或红黑...

16210

【初识集合框架】

艾伦耶格尔

👉 想存一堆用户,用数组但长度固定,加人就崩溃? 👉 用 ArrayList 存数据,但 remove() 时索引错乱,数据丢了? 👉 面试官问:“说说 H...

9110

【数据结构进阶】

艾伦耶格尔

红黑树通过着色规则和旋转操作,保证树的近似平衡,查找、插入、删除均为 O(log n)。

12810

【数据结构入门】

艾伦耶格尔

👉 看 ArrayList 源码,说“基于数组”,但数组到底怎么“动态扩容”? 👉 LinkedList 是“链表”,可链表长什么样?为啥插入快? 👉 Ha...

14210

【数据结构与算法】之栈 vs 队列

艾伦耶格尔

栈和队列是计算机科学中最基础也是最常用的两种线性数据结构,它们提供了一种组织和管理数据的方式。它们的主要区别在于元素的添加和删除顺序。理解它们的特点、差异以及底...

19710
领券