
第5天:递归与动态规划深度解析 - 高频面试算法 & Java 实战1. 递归 & 动态规划核心概念1.1 递归(Recursion)递归是一种通过函数调用自身来解决问题的方法,通常用于分解大问题为子问题。关键点:递归终止条件(Base Case)递归关系(Recurrence Re
第4天:哈希表与堆算法深度解析 - 高频面试题与 Java 实战1. 哈希表与堆的核心概念1.1 哈希表(Hash Table)哈希表是一种基于哈希函数实现的键值对存储数据结构,其核心特点是:O(1) 平均时间复杂度的插入、删除和查询操作。依赖哈希函数将键映射到数组索引,可能会发生哈希冲突,常见解决
线性数据结构学习线性数据结构是理解 JDK 数据结构的第一步。线性数据结构指的是元素之间存在线性关系的数据结构,其中每个元素有且只有一个前驱和后继元素。常见的线性数据结构包括数组、链表、栈和队列。1. 数组(Array)数组是最简单的线性数据结构,具有固定的大小,元素在内存中是连续存储的。JDK中的
第3天:栈与队列算法 - 问题分析与Java实现1. 问题分析问题1:有效的括号问题描述给定一个只包含 '('、)、'{'、'}'、'['、']' 的字符串,判断输入字符串是否有效。示例输入: s = "()"输出: true输入: s = "()[]{}"输
第2天:链表算法 - 问题分析与Java实现1. 问题分析问题1:反转链表问题描述给定一个单链表的头节点 head,反转该链表并返回其头节点。示例Input: head = [1,2,3,4,5]Output: [5,4,3,2,1]2. 解决方案(多种方法)方法1:迭代法(O(n))思路:遍历链表