自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(267)
  • 收藏
  • 关注

原创 LeetCode热题100--124. 二叉树中的最大路径和--困难

这篇文章介绍了一种计算二叉树中最大路径和的算法。该算法采用深度优先搜索(DFS)遍历二叉树,在递归过程中计算每个节点作为路径最高点时能获得的最大路径和(即左子树最大链和+当前节点值+右子树最大链和),并维护一个全局变量记录最大值。同时,递归函数返回当前子树能向上提供的最大单侧链和(左或右链中的较大者加当前节点值),若为负则返回0。这种方法高效地考虑了所有可能的路径情况,时间复杂度为O(n),空间复杂度为O(h),其中h为树的高度。

2026-02-24 19:01:24 192

原创 考研408--数据结构--day17--外部排序

外部排序:外存、内存之间的数据结构,外部排序原理、初始归并段、时间开销分析、优化(多路归并、减少初始归并段数量);败者树:多路平衡归并带来的问题、构造、使用、实现思路;置换-选择排序;最佳归并树;

2026-02-24 18:57:11 1047

原创 LeetCode热题100--23. 合并 K 个升序链表--困难

本文介绍了合并多个升序链表的解法。通过遍历所有链表的头节点,每次选择值最小的节点连接到结果链表中,并移动对应链表的指针。使用虚拟头节点简化操作,直到所有链表遍历完毕。该方法时间复杂度为O(Nk),其中N是节点总数,k是链表数量。适用于合并少量链表的情况,提供了一种直观的解决方案。

2026-02-23 23:03:37 176

原创 考研408--数据结构--day16--内部排序(下)

选择排序:简单选择排序、堆排序(大根堆、小根堆);归并排序;基数排序;计数排序;

2026-02-23 22:59:13 1079

原创 LeetCode热题100--25. K 个一组翻转链表--困难

这道题目要求将链表每k个节点一组进行反转,不足k个的保持原顺序。解法使用虚拟头节点简化边界处理,通过两个指针pre和end定位每组节点范围。具体步骤为:1)移动end指针定位k个节点;2)断开当前组与后续链表;3)反转当前组;4)重新连接反转后的链表;5)更新指针继续处理下一组。关键点在于正确维护各组之间的连接关系,确保反转后的链表结构完整。时间复杂度为O(n),空间复杂度O(1)。

2026-02-22 23:13:41 187

原创 考研408--数据结构--day15--排序&内部排序(上)

排序:什么是排序、排序算法应用、评价指标、分类;内部排序:插入排序、优化-折半插入排序、希尔排序、交换排序(冒泡排序、快速排序);

2026-02-22 23:09:48 1766

原创 LeetCode热题100--2. 两数相加--中等

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

2026-02-21 23:10:00 184

原创 考研408--数据结构--day14--B树&B+树&散列表

B树:m叉查找树、B树的高度、插入、删除操作;B+树:B+树的查找、B+树 vs B树;散列表:基本术语、散列函数的构造(除留余数法、直接定址法、数字分析法、平方取中法)、处理冲突的方法(拉链法、开放定址法)、散列查找的性能分析;

2026-02-21 23:01:34 1044

原创 LeetCode热题100--41. 缺失的第一个正数--困难

该算法在O(n)时间复杂度和常数空间下寻找数组中缺失的最小正整数。核心思想是通过原地交换将每个数字放到其值对应的索引位置(如数字1放在索引0)。首先遍历数组,将有效正整数交换到正确位置;然后再次遍历,第一个位置与数值不匹配的索引即为缺失的最小正整数。若所有位置都匹配,则返回n+1。例如数组[3,4,-1,1]处理后变为[1,-1,3,4],第二个位置不匹配,返回2。

2026-02-19 19:56:44 259

原创 考研408--数据结构--day13--平衡二叉树&红黑树

平衡二叉树:定义、插入操作、插入新结点后如何解决不平衡问题、删除操作;红黑树:定义、黑高、性质、查找操作、插入操作、删除操作;

2026-02-19 19:43:20 1250

原创 LeetCode热题100--76. 最小覆盖子串--困难

摘要:该算法通过滑动窗口技术解决最小覆盖子串问题。使用数组cnt记录字符需求,less跟踪未满足需求的字符种类数。右指针扩展窗口,当满足所有需求时,左指针收缩窗口以寻找更短的有效子串。时间复杂度为O(m+n),空间复杂度O(1)。例如,输入s="ADOBECODEBANC"和t="ABC"时,输出为"BANC"。

2026-02-17 15:55:31 233

原创 考研408--数据结构--day12--查找&二叉排序树

查找:基本概念、常见操作、评价指标;顺序查找:算法思想、算法实现、算法优化;折半查找:算法思想、算法实现、查找判定树、查找效率;分块查找:算法思想、查找效率分析;二叉排序树:定义、操作、查找效率分析;

2026-02-17 15:50:59 1231

原创 LeetCode热题100--239. 滑动窗口最大值--困难

该题解使用双端队列维护滑动窗口最大值。通过保持队列单调递减,队首始终为当前窗口最大值。算法分为两个阶段:1)初始化第一个窗口;2)滑动窗口时移除离开窗口的元素,并维护队列单调性。时间复杂度O(n),空间复杂度O(k)。关键点在于队列存储可能成为最大值的元素,并通过比较移除无效元素,确保高效获取每个窗口最大值。

2026-02-14 23:32:52 249

原创 考研408--数据结构--day11--最小生成树&最短路径问题&拓扑排序&关键路径

最小生成树:Prim算法、Kruskal算法;最短路径问题:BFS算法、Dijkstra算法、Floyd算法;有向无环图(DAG图):DAG描述表达式、解题方法;拓扑排序:AOV网、拓扑排序、逆拓扑排序;关键路径:AOE网、关键路径、关键活动;

2026-02-14 23:29:40 1133

原创 LeetCode热题100--42. 接雨水--困难

这道题通过双指针法高效计算柱状图中的雨水存储量。从左右两侧向中间遍历,每次比较左右两侧的最大高度,选择较小的一侧计算当前柱子的积水量(由较小侧最大高度决定)。时间复杂度O(n),空间复杂度O(1)。例如输入[0,1,0,2,1,0,1,3,2,1,2,1]时,可存储6单位雨水。

2026-02-11 23:53:17 214

原创 考研408--数据结构--day10--图的存储、基本操作和遍历

图:基本概念(顶点、生成树、权等)、特殊的图;图的存储:邻接矩阵、邻接表、十字链表法、邻接多重表;图的基本操作:重要的只有FirstNeighbor和NextNeighbor;图的遍历:广度优先遍历(BFS)、深度优先遍历(DFS);

2026-02-11 23:46:28 957

原创 LeetCode热题100--287. 寻找重复数--中等

摘要:该算法使用Floyd判圈法在O(1)空间复杂度下寻找数组中的重复数。通过快慢指针找到环内相遇点,然后从起点和相遇点同步移动指针,相遇点即为重复数。这种方法不修改原数组,适用于数字范围在1到n之间且包含n+1个元素的数组。时间复杂度O(n),空间复杂度O(1)。

2026-02-10 16:38:52 208

原创 考研408--数据结构--day9--树(存储结构)、森林(遍历)与二叉树的转换&哈夫曼树&并查集

树的逻辑结构;树的存储结构:双亲表示法、孩子表示法、孩子兄弟表示法;树、森林与二叉树的转换;树、森林的遍历:先序、中序、后序;哈夫曼树:带权路径长度、哈夫曼树、哈夫曼编码;并查集:如何表示集合关系?存储结构、基本操作、代码实现及具体优化方式;

2026-02-10 16:35:34 921

原创 LeetCode热题100--31. 下一个排列--中等

该题解实现了寻找整数数组下一个排列的算法。核心思路是:1)从右向左找到第一个下降的位置i;2)在i右侧找到第一个大于nums[i]的元素j;3)交换i和j位置的元素;4)反转i+1到末尾的子数组。若整个数组降序,则反转整个数组得到最小排列。算法时间复杂度O(n),空间复杂度O(1),满足原地修改要求。

2026-02-07 23:31:18 485

原创 考研408--数据结构--day8--遍历序列&线索二叉树

二叉树的遍历:前序遍历、中序遍历、后序遍历、层序遍历、遍历序列;由遍历序列构造二叉树:前序+中序、后序+中序、层序+中序;线索二叉树;二叉树线索化;在线索二叉树中找前驱后继;

2026-02-07 23:25:59 1155

原创 LeetCode热题100--75. 颜色分类--中等

本文介绍了一种原地排序算法,用于将包含0、1、2的数组按升序排列。算法使用双指针技术:p0指向0的右边界,p1指向1的右边界。遍历数组时,先将当前元素设为2,然后根据原值调整:若原值≤1则放入1区域并移动p1,若原值为0则放入0区域并移动p0。这种方法通过一次遍历完成排序,时间复杂度O(n),空间复杂度O(1)。示例展示了如何将[2,0,2,1,1,0]排序为[0,0,1,1,2,2]。

2026-02-06 22:15:14 169

原创 考研408--数据结构--day7--树&二叉树

树:基本概念、基本术语、常考性质;二叉树:基本概念、特殊的二叉树(满二叉树、完全二叉树)、常考性质、存储方式(顺序&链式);

2026-02-06 22:11:54 1042

原创 LeetCode热题100--169. 多数元素--简单

本文介绍了一种高效求解多数元素问题的摩尔投票算法。算法通过维护候选元素和票数,遍历数组时若票数为零则更新候选,相同元素加票,不同元素减票。由于多数元素出现次数超过半数,最终候选即为所求。该方法时间复杂度O(n),空间复杂度O(1),是解决此类问题的经典算法。

2026-02-05 23:51:22 245

原创 考研408--数据结构--day6--串

串:定义、基本操作;串的存储结构:顺序存储、链式存储、基于顺序存储实现基本操作;朴素匹配算法,KMP算法,next数组,有关KMP算法的优化

2026-02-05 23:48:41 1109

原创 LeetCode热题100--136. 只出现一次的数字--简单

摘要:该题要求在非空整数数组中找出唯一出现一次的数字(其他数字均出现两次)。最优解法利用异或运算的特性:相同数异或为0,且异或满足交换律。通过遍历数组将所有数字异或,成对出现的数字会相互抵消为0,最终结果即为只出现一次的数字。算法时间复杂度O(n),空间复杂度O(1)。示例代码展示如何用异或运算高效解决该问题。

2026-02-04 22:19:38 219

原创 考研408--数据结构--day5--栈与队列的应用

栈:括号匹配问题、表达式求值问题(前中后缀表达式)、递归;队列:树的层次遍历、图的广度优先遍历、在操作系统中的应用;矩阵的压缩存储:数组的存储结构(一维&二维)、矩阵的存储结构:普通矩阵、对称矩阵、三角矩阵、带状矩阵、稀疏矩阵;

2026-02-04 22:16:08 896

原创 LeetCode热题100--72. 编辑距离--中等

本文介绍了一种使用动态规划解决字符串编辑距离问题的算法。给定两个字符串word1和word2,计算将word1转换为word2所需的最少操作次数,操作包括插入、删除或替换字符。算法通过构建二维DP表,其中dp[i][j]表示将word1前i个字符转换为word2前j个字符的最小操作数。初始化时处理空字符串转换情况,然后填充DP表:当字符相同时继承左上角值,不同时取替换、插入或删除操作中的最小值加1。最终返回dp[n1][n2]作为结果,时间复杂度为O(n1n2),空间复杂度为O(n1n2)。

2026-01-10 19:22:52 389

原创 考研408--操作系统--day12--文件的基本操作&共享保护&系统布局

文件的基本操作:创建、删除、打开、关闭、读、写;文件共享:硬链接、软链接;文件保护:口令保护、加密保护、访问控制;文件系统布局:初始化、文件系统在内存中的结构;虚拟文件系统:虚拟文件系统、文件系统挂载;

2026-01-10 19:20:10 962

原创 LeetCode热题--1143. 最长公共子序列--中等

该问题要求计算两个字符串的最长公共子序列(LCS)长度。使用动态规划优化空间复杂度为一维数组,通过双重循环遍历字符串:外层处理text1的每个字符,内层处理text2的每个字符。当字符匹配时更新LCS长度,否则取相邻位置的最大值。最终返回数组末尾值即为LCS长度。这种方法将空间复杂度从O(mn)优化到O(n),其中m和n分别是两个字符串的长度。

2026-01-09 20:08:55 341

原创 考研408--操作系统--day11--文件管理&逻辑物理结构&目录&存储空间管理

初识文件管理:文件属性、文件数据怎么组织?文件之间怎么组织?操作系统应该提供哪些功能?文件如何存放在外存?文件的逻辑结构:无结构文件、有结构文件(顺序文件、索引文件、索引顺序文件、多级索引顺序文件)文件目录:文件控制块、目录结构(单级、两级、多级、无环图)、索引结点;文件的物理结构:文件块、磁盘块、文件分配方式(连续分配、隐式链接、显示连接、索引分配)文件存储空间管理:存储空间的划分与初始化、存储空间管理(空闲表法、空闲链表法、位示图法、成组链接法)

2026-01-09 20:06:11 1079

原创 LeetCode热题100--5. 最长回文子串--中等

本文介绍了一种使用动态规划求解最长回文子串的方法。通过构建二维数组dp[l][r]记录子串s[l...r]是否为回文,当两端字符相等且内部子串是回文时,标记当前子串为回文。算法遍历所有可能的子串,更新最长回文子串的起止位置和长度,最终时间复杂度O(n²),空间复杂度O(n²)。适用于处理中等长度的字符串,能够高效找出最长回文子串。

2026-01-08 18:43:24 294

原创 考研408--组成原理--day15--I/O方式

程序查询方式:模拟过程、流程图、例题;中断的作用和原理:基本概念、分类、中断请求标记、中断判优、中断处理过程;多重中断:单重vs多重、中断屏蔽技术;程序中断方式;DMA方式:DMA控制器、DMA传送过程、特点、DMA传送方式;

2026-01-08 18:39:04 1198

原创 LeetCode热题100--64. 最小路径和--中等

该问题要求在一个m×n网格中找到从左上角到右下角的最小路径和,每次只能向下或向右移动。通过动态规划方法解决:遍历网格,对于每个位置(i,j),若位于第一行则只能从左边来,第一列只能从上方来,其他位置则取上方和左方的最小值加上当前值。最终右下角的值即为最小路径和。算法时间复杂度O(mn),空间复杂度O(1)。示例中[[1,3,1],[1,5,1],[4,2,1]]的最小路径和为7,路径为1→3→1→1→1。

2025-12-30 15:43:06 311

原创 考研408--组成原理--day14--I/O设备&I/O接口

输入输出系统和IO控制方式:常见的I/O设备、I/O控制器、I/O控制方式、I/O系统基本组成;外部设备:分类、输入设备、输出设备;I/O接口:作用、结构、工作原理、接口与端口、编制、分类;

2025-12-30 15:37:35 727

原创 LeetCode热题100--62. 不同路径--中等

本文介绍了一个机器人从m×n网格左上角移动到右下角的不同路径数问题。机器人只能向右或向下移动。解法采用动态规划,通过一维数组优化空间复杂度。初始化第一行和第一列的路径数为1,然后通过状态转移方程cur[j] += cur[j-1]计算每个位置的路径数,最终返回右下角的值。时间复杂度O(mn),空间复杂度O(n)。

2025-12-29 15:14:41 362

原创 考研408--组成原理--day13--总线

总线概述:总线概念、总线特点、总线特性、总线分类、系统总线结构;总线的性能指标;总线操作和定时:总线传输的四个阶段;总线定时(同步定时方式、异步定时方式、半同步通信、分离式通信)

2025-12-29 15:10:23 1318

原创 LeetCode热题100--416. 分割等和子集--中等

摘要:该问题判断是否可以将正整数数组分割成两个和相等的子集。解法首先计算数组总和,若为奇数直接返回false。然后使用BigInteger模拟位集,初始时f=1表示空子集和为0。遍历每个数x时,通过f.or(f.shiftLeft(x))更新可达和的状态。最终检查能否达到总和的一半s,即f.testBit(s)是否为真。这种位运算优化方法高效地解决了0-1背包问题。

2025-12-28 15:21:52 364

原创 考研408--计算机网络--day13--电子邮件&万维网&HTTP

电子邮件:信息格式、组成结构、协议(SMTP、MIME、POP3、IMAP),基于万维网的电子邮件;万维网:访问过程、HTTP协议的工作方式(非持续连接、持续链接+流水线);HTTP:报文格式、Cookie的作用、例题;

2025-12-28 15:18:47 1139

原创 LeetCode热题100--152. 乘积最大子数组--中等

这道题目要求找出数组中乘积最大的非空连续子数组。通过动态规划的思想,维护两个变量imax和imin分别记录以当前元素结尾的子数组的最大和最小乘积。当遇到负数时交换这两个变量,因为负数会使最大值变最小、最小值变最大。每次迭代时更新imax和imin,并记录全局最大值max。最终返回max即为所求结果。该算法时间复杂度O(n),空间复杂度O(1),高效解决了最大乘积子数组问题。

2025-12-27 16:49:29 400

原创 考研408--组成原理--day12--五段式指令流水线&多处理器&硬件多线程

指令流水线的影响因素和分类:机器周期的设置、影响因素、分类、多发技术;五段式指令流水线:介绍、各指令的执行过程、例题;多处理器:SISD、SIMD、MISD、MIMD、向量处理器、共享内存多处理器、多核处理器;硬件多线程:细粒度多线程、粗粒度多线程、同时多线程;

2025-12-27 16:46:34 1410

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除