Map和Set 一、TreeMap 与 TreeSet TreeMap 和 TreeSet 是 Java 集合框架中具有有序性的集合,它们的底层都依赖于红黑树(一种自平衡的二叉搜索树),能够保证元素(或键)的有序排列。本文先从二叉搜索树入手,再讲解 TreeMap 与 TreeSet 的实际使用。 二叉搜索树 二叉 2025-09-15 programming 12
优先级队列(堆) PriorityQueue 是 Java 集合框架中的一个重要类,它底层基于**堆(Heap)**这种数据结构实现,能够保证每次取出的元素都是队列中优先级最高的(默认是最小元素,即小顶堆)。 堆的模拟实现 PriorityQueue 的底层核心是堆,我们先通过代码手动实现一个大顶堆(每个父结点的值都 2025-08-26 programming 16
二叉树 一、树 树是一种非线性的数据结构。它是由 n (n >= 0) 个有限结点组成的具有层级关系的集合,不同于数组、链表这类线性结构,树的结点之间呈现出“一对多”的层级关联特性。 树的核心概念 在学习树结构之前,需要先掌握这些基础术语,它们是理解后续内容的前提: 结点的度:一个结点含有子树的个数称为该结 2025-08-19 programming 24
栈与队列 一、栈 栈是一种遵循**先进后出(LIFO, Last In First Out)**原则的数据结构,仅允许在栈的一端(称为栈顶)进行元素的插入(压栈)和删除(出栈)操作,另一端(栈底)则固定不可操作。下面我们从模拟实现和实际使用两个方面深入了解 Stack<>。 栈的模拟实现 要实现一个基础的栈, 2025-08-11 programming 12
链表 一、单向链表的模拟实现 单向链表的每个节点只包含自身数据和下一个节点的引用,只能从头节点向尾节点遍历,操作相对简单,是理解链表结构的基础。 完整实现代码 public class MySinglyLinkedList { // 重命名类,明确是单向链表,更易理解 // 静态内部类:链表节点 2025-08-04 programming 18