
🧠 第6天:树与图深度剖析——高频算法面试题 & Java 实战📚 一、核心知识概览 Overview1. 树(Tree)树是一种非线性数据结构,常见于面试中的二叉树(Binary Tree)、二叉搜索树(BST)、N叉树等。常见面试考点:树的遍历(前序、中序、后序、层序)最近公共祖先(
第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 = "()[]{}"输