- 博客(581)
- 收藏
- 关注
原创 三维视图查看器项目功能实现流程详解(QT/C++)
本文详细介绍了基于QT/C++的三维视图查看器项目的核心功能实现流程。主要内容包括:1) 模型加载流程,通过Assimp库解析OBJ文件并构建网格结构;2) 模型变换系统,实现平移、旋转和缩放操作;3) 完整的渲染管线,支持多种渲染模式;4) 光照系统,包含方向光、点光源和聚光灯三种类型;5) 纹理/材质编辑功能;6) 截图和GIF录制功能。项目采用模块化设计,通过QT界面与OpenGL渲染引擎交互,实现了完整的3D模型查看和编辑功能。
2026-05-24 17:29:17
20
原创 三维视图查看器项目(QT/C++)
三维视图查看器(Viewer3D)是基于Qt+OpenGL开发的3D模型查看工具,支持加载.obj格式模型文件。核心功能包括多种渲染模式(纹理/材质/边线/顶点)、光照系统(方向光/点光源/聚光灯)、模型变换(平移/旋转/缩放)以及场景导出(图片/GIF)。系统采用模块化设计,包含相机控制、网格处理、模型加载、OpenGL渲染等核心模块,支持天空盒和网格辅助线显示。项目使用C++17开发,依赖Assimp库进行模型解析,提供完整的3D可视化解决方案。
2026-05-24 17:27:10
27
原创 算法交易项目(附项目源代码)
这是一个基于Qt/C++开发的数值计算与可视化工具,主要用于股价等时间序列数据的插值与拟合分析。项目采用MVC架构,包含数据导入、插值分析(三次样条/牛顿多项式)、拟合分析(多项式最小二乘)、性能对比和可视化展示等功能模块。核心算法实现包括牛顿插值、三次样条插值和最小二乘拟合,支持多线程计算和交互式图表操作。项目提供完整的源代码和示例数据,可作为金融数据分析或数值计算的教学参考项目。
2026-05-24 16:49:52
22
原创 算法交易项目(Qt / C++)
本文介绍了一个基于Qt/C++的算法交易可视化程序,实现了三种核心算法:三次样条插值、牛顿插值多项式和最小二乘拟合。程序从CSV读取时间序列数据(日期+数值+可选权重),支持交互式可视化分析,包括曲线绘制、视图操作和特定日期取值查询。技术特点包括:支持多算法对比(最多5条曲线)、权重敏感的最小二乘拟合、性能测试功能(10次重复取平均)。编译依赖Qt5/6的Widgets、Charts等模块,提供跨平台(Linux/macOS/Windows)的安装指南。该工具适用于金融数据分析、算法交易策略开发和数值计算方
2026-05-24 16:45:23
19
原创 【个人成长笔记】U盘制作 Ubuntu 20.04 启动盘并为电脑安装 Ubuntu 系统
摘要 本文详细介绍了从Windows环境制作Ubuntu 20.04启动U盘并安装系统的完整流程。内容包括:准备工作(8GB以上U盘、镜像下载)、使用UltraISO或Rufus制作启动盘、通过U盘启动电脑、安装过程中的关键步骤(语言选择、分区方案设置、用户配置等)、安装后的基础配置(系统更新、软件安装),以及常见问题解决方案。特别强调了安装前的数据备份重要性,并提供了多种镜像下载源和不同品牌电脑的启动快捷键参考,适合Linux新手按步骤操作。
2026-05-06 23:17:55
90
原创 【数据结构与算法面试宝典】聊聊大厂面试经历,谈谈对算法学习的看法
这篇文章分享了作者在大厂面试中的经验总结,分为面试前、面试中和面试后三个阶段。重点内容包括: 面试准备: 知识储备分为项目经历、基础知识和算法数据结构三部分 项目经历需准备5个关键问题,确保回答清晰流畅、突出重点 算法准备分三个阶段:重点知识点、刷题整理模板、复习突击 面试实战: 以二叉树重建为例,展示了与面试官沟通题意、确认需求的过程 详细讲解了从前序和中序遍历重建二叉树的算法思路和代码实现 强调了测试用例的重要性 核心建议: 项目经历要精心准备 算法题要先理解题意再作答 代码要规范完整,包括测试用例 文
2026-05-04 11:01:39
61
原创 【数据结构与算法面试宝典】答疑(一问一答)
这篇文章是《数据结构与算法面试宝典》专栏的答疑补充内容,主要针对读者提出的几个典型问题进行了详细解答和题目优化。作者首先对例题4的表述不严谨致歉并优化了题目说明,强调"字典序"概念。随后针对三道典型题目(找出数组右边较小元素、大鱼吃小鱼问题、木板矩形面积问题)中的读者疑问,通过具体案例分析给出了清晰解释。文章最后提供了面试技巧建议,包括如何有效提问、避免不当问题以及控制提问时长。作者鼓励读者积极反馈疑问,共同完善学习内容,体现了严谨的技术交流态度。
2026-05-04 10:59:29
40
原创 【数据结构与算法面试宝典】结束语 算法的精进之路
本文分享了作者在数据结构与算法学习方面的经验总结,主要从目标、方法和执行力三个维度展开。首先强调明确学习目标的重要性,针对不同目标(如通过面试、参加竞赛等)制定不同学习计划。学习方法部分详细介绍了基础扫盲、刷题阶段(包括一解多题和一题多解)和面试准备的具体策略,特别强调了代码模板的使用技巧。最后强调了执行力在算法学习中的关键作用,鼓励读者根据自身情况制定计划并坚决执行。文章为算法学习者提供了系统化的学习路径和实用技巧。
2026-05-04 10:58:14
137
原创 【数据结构与算法面试宝典】23 算法模板:如何让高频算法考点秒变默写题?
本文总结了算法面试中的核心知识点与模板代码,主要包括排序、二分查找和双指针三大类算法。在排序部分,重点讲解了合并排序中的关键合并技巧和快速排序的三路切分实现;二分查找部分详细介绍了lowerBound和upperBound的标准模板及其使用条件;双指针部分则总结了处理最长区间等问题的经典模板。文章强调通过思维导图整理知识体系,并建议读者自行整理代码模板库,而非死记硬背。这些模板代码涵盖了算法面试中的高频考点,掌握它们可以有效提升解题效率。
2026-05-04 10:55:27
178
原创 【数据结构与算法面试宝典】22 数据结构模板:如何让解题变成搭积木?
本文总结了数据结构与算法面试中栈和单调栈的核心知识点与代码模板。文章指出整理代码模板的三大优势:组合解题模块、提高编码速度和聚焦重点复习。针对栈结构,提供了括号匹配问题的经典解法模板,并给出使用队列模拟栈、验证栈序列和实现最小栈的三个练习题。对于单调栈,重点讲解了求解数组中元素右边第一个较小元素位置的通用模板,强调利用栈结构特性进行高效消除操作。这些模板可帮助面试者快速搭建解题框架,将复杂问题转化为"搭积木"式的模块化处理。
2026-05-04 10:54:32
30
原创 【数据结构与算法面试宝典】21 安排会议室:如何利用多种方法安排会议室?
本文探讨了安排会议室问题的最优解法,通过分析时间分布特点,将问题转化为求区间重叠次数的最大值。文章提出了三种解题思路:1) 直接染色法,通过模拟时间点染色统计重叠次数;2) 差分数组法,利用前缀和优化计算效率;3) 改进的哈希表差分法,解决大范围时间点问题。重点阐述了如何通过差分数组和前缀和技巧高效求解,并提供了Java代码实现。该问题本质上考察对区间重叠的理解和优化计算能力,通过一题多解的方式展示了算法思维的多样性。
2026-05-04 10:49:52
32
原创 【数据结构与算法面试宝典】20 五种解法,如何利用常量空间求解最长有效括号长度?
这篇文章探讨了求解最长有效括号子串长度的五种解法,重点分析了区间特性解法。主要内容包括: 问题定义:在只包含'('和')'的字符串中,找出最长有效(格式正确且连续)括号子串的长度。 合法字符串的三种情况:相连、嵌套、相连+嵌套。 区间特性解法核心思想: 将配对的括号视为区间 定义区间的连接性 通过合并相连区间来找到最长有效区域 具体实现步骤: 使用栈获取所有配对括号的区间 对区间进行排序 使用贪心算法合并相连区间 计算最长连续区域 复杂度分析:时间复杂度O(NlogN),空间复杂度O(N)。
2026-05-04 10:49:12
29
原创 【数据结构与算法面试宝典】19 最小体力消耗路径:如何突破经典题型,掌握解题模板?
本文介绍了解决"最小体力消耗路径"问题的多种算法思路。题目要求找到从矩阵左上角到右下角的路径,使路径上相邻格子高度差绝对值的最大值最小。 文章首先对题目进行预处理,将矩阵中的每个位置视为图中的节点,相邻节点间的边权重为高度差绝对值。通过这种转换,问题转化为寻找路径上最大边权重最小的路径。 重点介绍了并查集解法: 收集所有边并按权重排序 使用并查集按权重从小到大依次添加边 当起点和终点连通时,当前边的权重即为答案 该方法利用并查集高效判断连通性的特点,时间复杂度为O(ElogE)。文章还提
2026-05-04 10:48:02
28
原创 【数据结构与算法面试宝典】18 单词接龙:如何巧用深搜与广搜的变形?
本文摘要: 《数据结构与算法面试宝典》第18讲探讨了单词接龙问题的多种解法。题目要求在给定单词列表中找到从起始词到目标词的最短转换序列,每次只能改变一个字母。文章重点分析了如何将问题转化为图搜索问题: 预处理阶段通过哈希表将字符串映射为整数,构建图的邻接表表示; 每次转换视为无向边,动态生成图的边结构; 介绍了BFS、双向BFS、DFS和Dijkstra等多种搜索方法的应用场景; 强调了字符串预处理为整数节点的优势,包括处理效率提升和代码简化。 该问题考察了图的动态构建、搜索算法变形等核心知识点,是面试中常
2026-05-04 10:47:18
34
原创 【数据结构与算法面试宝典】17 深度思考子集:如何掌握 5 种通用解法?
文章摘要 本文深入探讨了子集问题的多种解法,重点介绍了回溯和BFS两种通用方法。对于不重复元素的数组(题目1),使用回溯法生成所有子集;对于可能重复元素的数组(题目2),采用排序+回溯进行去重处理。文章还展示了如何将DFS思路转换为BFS解法,通过逐步添加元素生成子集。作者提供了Java/C++/Python代码实现,并讨论了不同解法的时间复杂度均为O(N*2^N)。最后,文章暗示后续将介绍更多子集问题的变种解法,如二进制位掩码、动态规划等。
2026-05-04 10:46:19
23
原创 【数据结构与算法面试宝典】16 如何利用 DP 与单调队列寻找最大矩形?
这篇文章摘要总结了如何利用动态规划(DP)和单调队列来解决寻找最大矩形面积的问题。文章从暴力解法入手,分析其O(N^3)时间复杂度不足,进而探讨如何通过预处理和区间查询优化性能。重点介绍了ST算法(Sparse Table)的两种核心思想:一分为二的区间划分和指数表示法,该方法可将查询时间复杂度降至O(1)。文章还提供了ST算法的预处理和查询阶段的具体代码实现。通过这种方法,时间复杂度从O(N^3)优化到O(N^2),为解决类似区间最小值查询问题提供了有效思路。
2026-05-04 10:45:42
26
原创 【数据结构与算法面试宝典】15 字符串查找:为什么我最终选择了 BM 算法?
本文介绍了字符串查找算法的多种解法,重点分析了暴力搜索算法和KMP算法。暴力算法实现简单但效率较低,时间复杂度为O(N×M)。KMP算法通过构建PMT表(部分匹配表)来优化匹配过程,利用字符串的前缀和后缀最长匹配信息来减少不必要的比较。文章详细解释了前缀集、后缀集、前后缀最长匹配等概念,并展示了如何计算PMT表及其在KMP算法中的关键作用。通过示例说明KMP算法相比暴力算法的优势,能够在线性时间内完成字符串匹配。此外,文章还提到BM算法和Sunday算法等其他高效字符串匹配方法,为读者提供了全面的算法知识框
2026-05-04 10:44:46
47
原创 【数据结构与算法面试宝典】14 DP:我是怎么治好“DP 头痛症”的?
这篇文章摘要总结了动态规划(DP)解题的核心方法论,通过硬币找零问题详细讲解了6步破题法: 识别题目特征(计数/最值/可能性) 从最后一步而非第一步思考 将问题拆解为子问题 建立递推关系式 确定初始条件和边界处理 按顺序计算DP表 作者以coins=[1,2,5], amount=11为例,演示如何通过f(x)=min(f(x-1),f(x-2),f(x-5))+1的递推关系,用数组存储中间结果,最终求得最少需要3个硬币(5+5+1)。文章强调DP的核心在于"记忆化"子问题解,避免重复计
2026-05-04 10:43:35
24
原创 【数据结构与算法面试宝典】13 搜索:如何掌握 DFS 与 BFS 的解题套路?
这篇文章深入讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的算法原理与应用。主要内容包括: DFS的核心思想与实现模板:通过走迷宫的例子,详细阐述了DFS的递归实现方式,包括路径选择、终止条件和避免循环访问的处理方法。 DFS的实际应用:以矩阵连通域问题为例,展示了如何使用DFS标记边界相连的区域,解决"被围绕的区域"问题。 代码实现:提供了Java代码示例,演示了如何通过DFS遍历矩阵边缘并标记所有相连的'O'区域。 文章采用循序渐进的方式,从基础概念到实际应用,帮助读者掌握DF
2026-05-04 10:42:36
25
原创 【股票基础知识】六、技术分析——均线、趋势与 MACD
本文介绍了股票技术分析中的核心工具与方法,包括移动平均线(MA)的构造、周期分层及应用,均线支撑/压力位判断,金叉/死叉信号分析。同时讲解了趋势线绘制、波浪理论框架、量价配合原理,以及MACD和布林带指标的使用要点。强调技术分析具有滞后性,在震荡市中易产生伪信号,需结合多周期验证、严格止损纪律。各类指标应作为辅助工具,而非独立决策依据,投资者需建立完整的交易系统。
2026-05-04 10:11:19
426
原创 【股票基础知识】五、技术分析——认识 K 线
【股票技术分析基础:K线形态与解读】 文章系统介绍了K线分析的核心要素:1)K线构造(OHLC四价、实体影线、涨跌着色差异);2)技术分析的三大假设前提(市场反映信息、趋势惯性、历史重演)及其局限性;3)典型单根K线形态(光头光脚阳阴线、十字线、锤类线)的特征与多空含义;4)组合形态如乌云盖顶的识别要点;5)结构形态分析(颈线、双底、M顶、箱体)的画法与突破确认逻辑。强调形态解读需结合趋势位置、成交量等语境因素,单一图形不构成确定信号,应避免机械套用。全文以专业图解辅助说明,为技术分析提供系统性认知框架。
2026-05-04 10:09:45
322
原创 【股票基础知识】四、炒股APP界面功能详解
《炒股APP界面功能详解》文章摘要: 本文系统解析了股票交易APP的界面功能和关键指标。主要内容包括:1)报价区要素:证券代码、最新价、涨跌幅等基础信息;2)盘口与分时图:五档买卖盘、成交量等实时交易数据;3)重要指标分析:市值、量比、换手率等流动性指标;4)交易撮合机制:价格优先、时间优先原则,限价委托策略;5)估值工具:静态/动态/TTM市盈率的计算与应用;6)行业对比:PE分位数的正确使用方法。文章强调理解指标定义和适用边界的重要性,建议投资者养成查阅官方说明、交叉验证数据的习惯,避免对单一指标的误读
2026-05-04 10:07:18
280
原创 【股票基础知识】三、哪家券商费率最低、最安全???
选择券商的本质,是在可验证的费率可靠的交易与清算体验、以及你对账户安全的自我负责之间做权衡。开户完成后,建议立即导出或截图保存费率说明页,养成每笔大额交易后抽查交割单的习惯;若交易频率高,可将年度佣金支出占成交额比例做成简单表格,这比追逐口号式的「最低、最安全」更有利于长期控制摩擦成本。
2026-05-04 10:06:22
176
原创 【股票基础知识】二、基础篇——指数基金分类规则和国债逆回购
摘要 本文系统介绍了A股市场主要指数分类及投资工具应用。首先解析了上证综指、沪深300、中证500等宽基指数的市场定位,指出上证综指虽具历史参考价值但代表性有限,而沪深300更适合作为核心基准。其次探讨了创业板指、科创50等成长型指数的波动特征,以及MSCI中国A50和红利策略指数的编制逻辑。文章详细对比了ETF与场外指数基金在交易机制、费用结构等方面的差异,强调跟踪误差和费率的重要性。最后介绍了国债逆回购作为证券账户现金管理工具的操作要点,包括资金可用日和交收规则。全文为投资者构建指数化投资组合提供了框架
2026-05-04 10:04:08
268
原创 【股票基础知识】一、基础篇——股票基础知识
《股票基础知识入门指南》摘要: 本文系统介绍了股票投资的基础知识框架,分为认知篇和市场篇两大模块。认知篇涵盖股票的本质(所有权凭证)、收益来源(资本利得和分红)、长期投资逻辑(经济增长和风险溢价)以及账户资金管理要点。市场篇详细解析A股市场结构,包括不同板块代码规则(如沪市60、深市00开头)、各板块准入条件(如创业板10万资产+2年经验)、交易规则(涨跌停幅度、T+1制度等)和撮合机制。文章特别强调指数长期表现与个人实际收益的差异,提醒投资者需要掌握估值方法、风险管理和交易纪律。全文通过清晰的流程图和对比
2026-05-04 10:01:47
410
原创 【个人成长笔记】人体穴位体系:从标准、图谱到系统学习路径
本文系统梳理了人体361个经穴的标准化体系,重点解析十四经脉的分布规律和学习方法。主要内容包括: 十四经脉分类:十二正经+任督二脉,其中十二经对称分布,任督为单线穴; 经穴计数标准:按GB/T 12346-2021最新标准为362穴,详细列出各经脉穴位数量(如膀胱经67穴最多)和国际代号; 侧面穴位图谱:重点标注头面部34个关键穴位,包含归经、定位要点和注意事项(如迎香、百会等要穴); 学习路径建议:强调按经脉系统学习而非区域乱点,提供记忆锚点和临床提示(如眼周承泣穴不宜深刺)。 全文采用标准化编码和分层表
2026-05-03 14:27:55
42
原创 【数据结构与算法面试宝典】12 回溯:我把回溯总结成一个公式,回溯题一出就用它
回溯算法:从DFS到最优解探索 本文系统介绍了回溯算法的核心概念和应用场景。回溯算法本质上是深度优先搜索(DFS)的一种应用,主要用于解决需要穷举所有可能路径的问题,如外卖派单系统中的最优路径规划。 文章通过一个生动的面试模拟展开,从简单的数组打印问题入手,逐步引入递归、回溯思想,并最终提炼出一个通用的回溯模板。关键内容包括: 回溯的核心原理:通过"借箱子"游戏形象解释了回溯过程中状态保存与恢复的机制。 回溯三要素: 状态保存(push) 递归探索 状态恢复(pop) 典型应用场景: 排
2026-05-03 11:12:22
31
原创 【数据结构与算法面试宝典】11 贪心:这种思想,没有模板,如何才能掌握它?
这篇文章介绍了贪心算法的核心思想和特点,并通过具体例题讲解了其应用方法。主要内容包括: 贪心算法的特点: 只选择局部最优解,通过逐步迭代得到全局最优解 次优解不能"逆袭"成为最终最优解 通过例题分析: 以寻找数组最大值为例,展示了贪心算法的实现方式 使用双指针方法求解最大值,推导出相关结论 以木桶装水问题为例,分析如何利用贪心思想解决实际问题 关键要点: 贪心算法没有固定模板,重点在于问题分析和结论推导 需要积累常见问题的结论和经验 贪心策略要保证局部最优能导向全局最优 文章通过生动比喻
2026-05-03 10:04:28
23
原创 【数据结构与算法面试宝典】10 双指针:如何掌握最长、定长、最短区间问题的解题决窍?
本文介绍了双指针算法在解决最长、定长、最短区间问题中的应用技巧。双指针通过两个指针在数组/链表上遍历,利用区间的单调性高效解决问题。文章重点讲解了双指针的工作原理、单调性条件,并提供了最长区间问题的代码模板。通过例题展示了如何检查区间状态和修改区间状态,将复杂问题转化为填空题形式。掌握双指针的3个模板可以帮助快速解决相关面试题目。
2026-05-03 10:03:30
23
原创 【数据结构与算法面试宝典】09 二分搜索:为什么说有序皆可用二分?
本文介绍了二分搜索算法及其在工程中的应用,重点讲解了两个标准模板(lowerBound和upperBound)的使用方法。文章通过实例演示了如何在有序数组中查找目标元素的最左位置,详细分析了二分搜索的区间划分原则和边界条件处理。作者强调了开闭原则在二分搜索中的重要性,并提供了完整的代码实现和复杂度分析。最后,文章总结了面试中的常见考察点,包括循环终止条件、边界更新规则等关键知识点,帮助读者掌握二分搜索的核心思想和实现技巧。
2026-05-03 10:02:36
19
原创 【数据结构与算法面试宝典】08 排序:如何利用合并与快排的小技巧,解决算法难题?
本文介绍了数据结构与算法面试中的两种核心排序算法——合并排序和快速排序。合并排序通过将数组递归划分为子数组并有序合并,其时间复杂度为O(NlogN),空间复杂度为O(N)。文章详细讲解了合并排序的三个关键步骤:划分子结构、获取子结构信息及整合信息,并通过代码示例演示实现过程。此外,还探讨了合并排序与二叉树后序遍历的相似性,以及如何利用合并排序解决逆序对问题。快速排序部分则重点介绍了分区操作和递归处理左右子数组的方法,强调其在平均情况下的高效性。这两种排序算法不仅是面试常见考点,也是理解更复杂算法的基础。
2026-05-03 10:01:54
62
原创 【数据结构与算法面试宝典】07 并查集:如何利用两行代码写并查集?
本文介绍了并查集数据结构的基本原理、实现方法及其应用。主要内容包括: 并查集定义:用于处理不交集合并与查询问题的树型结构,支持Find(查询所属集合)和Union(合并集合)两种核心操作。 两种实现方法比较: 方法1:哈希映射,Find快O(1)但Union慢O(N) 方法2:树形结构,通过路径压缩优化Find操作 核心实现技术: 路径压缩:在Find时"拍扁"树结构,提高后续查询效率 两行代码模板:简洁的Find和Union实现 扩展功能: 统计集合数量 记录集合元素个数 应用场景:数
2026-05-03 10:01:13
22
原创 【数据结构与算法面试宝典】06 树:如何深度运用树的遍历?
本文介绍了二叉树的前序遍历及其应用。首先定义了二叉树结点的基本结构,包含值、左子结点和右子结点。重点讲解了前序遍历的递归和非递归实现方法,递归方法时间复杂度为O(N),空间复杂度为O(H);非递归方法使用栈,时间复杂度O(N),空间复杂度O(H)。最后以验证二叉搜索树为例,展示了前序遍历的实际应用,通过判断结点值是否在合理区间内来验证树的合法性。文章还提到Morris遍历可作为优化空间复杂度的选择。
2026-05-03 10:00:30
77
原创 【数据结构与算法面试宝典】05 链表:如何利用“假头、新链表、双指针”解决链表题?(下)
本文介绍了解决链表问题的"三板斧"中的第二斧——新链表方法。通过生成新链表来处理反转、删除等操作,可以避免直接在原链表上修改的复杂性。文章以链表反转和删除指定节点为例,展示了如何使用假头和新链表思路: 链表反转:建立新链表,遍历旧链表时采用头部插入法,实现反转效果。 删除节点:建立新链表,遍历旧链表时只将符合条件的节点尾部追加到新链表。 这种方法时间复杂度为O(N),空间复杂度为O(1)。最后还给出了两道关于删除重复节点的练习题,进一步巩固这种解题思路。新链表方法使链表操作更加直观和易于
2026-05-03 09:59:05
74
原创 【数据结构与算法面试宝典】04 链表:如何利用“假头、新链表、双指针”解决链表题?(上)
本文介绍了链表操作中的关键技巧——“三板斧”:假头、新链表和双指针。重点讲解了带假头链表的6种基本操作:初始化、追加结点、头部插入结点、查找结点、指定位置插入和删除结点。通过设计链表的面试题示例,详细演示了如何利用假头简化链表操作,避免空指针判断,并保持代码简洁。文章还通过动态图示生动展示了链表操作的过程,帮助读者深入理解链表的基本操作原理和实现方法。
2026-05-03 09:58:19
247
原创 【数据结构与算法面试宝典】03 优先级队列:堆与优先级队列,筛选最优元素
本文介绍了优先级队列的核心数据结构——堆,重点讲解了大堆和小堆的概念、表示方法以及四种基本操作(下沉、上浮、push和pop)。堆通过数组实现,利用完全二叉树的性质,能够高效地维护元素优先级。下沉和上浮操作的时间复杂度均为O(logN),是堆保持有序的关键。push和pop操作分别依赖上浮和下沉,同样具有对数时间复杂度。这些基础操作为实现优先级队列提供了高效支持,适用于需要动态获取最优元素的场景。文章通过动画演示和代码示例,清晰展示了堆的内部运作机制,为后续优先级队列的应用奠定了理论基础。
2026-05-03 09:56:19
188
原创 【数据结构与算法面试宝典】02 队列:FIFO 队列与单调队列的深挖与扩展
本文介绍了队列在数据结构与算法中的两种重要形式:FIFO队列和单调队列。重点讲解了FIFO队列的特点及其应用场景,如二叉树的层次遍历问题。通过具体示例展示了如何利用FIFO队列实现分层遍历,并提供了两种解法:基于队列长度控制的传统方法和基于列表迭代的直观方法。文章还指出这类问题是高频面试题的基础,强调了掌握分层遍历思想的重要性。最后简要提及了队列在Redis、LevelDB等系统中的应用,展示了队列在计算机系统中的广泛实用性。
2026-05-03 09:55:12
179
原创 【数据结构与算法面试宝典】01 栈:从简单栈到单调栈,解决经典栈问题
这篇文章介绍了栈这一数据结构及其在算法面试中的应用,重点讲解了栈的基本特性和单调栈的使用技巧。文章通过括号匹配问题为例,详细演示了如何运用栈的先进后出特性解决问题,并提供了Java、C++和Python三种语言的代码实现。作者采用四步分析法(模拟、规律、匹配、边界)来拆解问题,并展示了如何通过优化减少空间复杂度。此外,文章还扩展到更复杂的多类型括号匹配问题,帮助读者掌握栈的通用解题思路。
2026-05-03 09:53:05
271
原创 【培养终身受用的学习力】阅读第9天:《每天最重要的2小时》个人读书笔记
抉择点上的主动选择 × 心理能量的省着花 × 身体与环境的支撑。忙碌不等于有进展;真正要做的是让大脑在关键时段仍处于「能赛车」的油量——汤姆邮件与赛车比喻、富兰克林的闲暇与条理,说的都是同一件事。阅读感悟:当你开始排能量表而不只排时间表,拖延和低效往往消失一半——因为你终于把最难的事接到了自己还像个人的时候。阅读《每天最重要的2小时》——你的心理能量到了什么级别。
2026-05-03 06:00:00
358
原创 【数据结构与算法面试宝典】开篇词 告别盲目刷题,击破算法面试
《数据结构与算法面试宝典》专栏系统总结了大厂算法面试经验,针对不同面试形式提供解题方法论。专栏包含300+高频面试题,通过"一解多题"和"一题多解"方式,帮助读者掌握核心算法思想和数据结构应用。课程分为数据结构、算法、多解案例和代码模板四大模块,涵盖栈、队列、树、动态规划等核心内容,并提供Java/C++/Python三种实现。专栏采用思维导图、动画图解等方式辅助理解,旨在帮助读者在1个月内高效备战算法面试,提升解题能力和代码质量。
2026-05-03 00:34:25
363
三维视图查看器项目(QTC++).zip
2026-05-24
算法交易项目(QT/C++).zip
2026-05-24
正版C语言程序PPT课件(清华大学出版社)
2025-10-09
C陷阱与缺陷(个人笔记,总结详细且独一无二)
2025-10-03
使用Qt开发的C++相册项目(Album-Music)
2025-10-03
单片机c语言基础应用 案例 仿真 170案例.7z
2025-10-03
MSP430毕业设计实例 论文+程序+原理图.7z
2025-10-03
TCP-Demo.zip
2025-09-11
MyTableView-Delegate.zip
2025-09-04
一个基于Qt的多线程案例
2025-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅