摘要: 堆(Heap) 堆是一种完全二叉树,同时满足堆序性(物理存储通常用数组,效率更高)。 491cedfb-4101-46ef-9bd4-276cfe8727ff 完全二叉树就是满二叉树最后一层不满且左对齐。 大根堆(Max Heap):每个父节点的值 ≥ 其左右子节点的值(堆顶是最大值);小根堆(Mi 阅读全文
posted @ 2025-11-24 22:44 mc12356 阅读(25) 评论(0) 推荐(0)
摘要: 二叉树性质 节点数与高度的关系:高度为 h 的二叉树,最少有 h 个节点(每层仅 1 个节点,斜树),最多有 2^h - 1 个节点(满二叉树,每层节点数全满)。 度的特性:节点的「度」是指其子节点个数(0 = 叶节点,1 = 单子女节点,2 = 双子女节点);任意二叉树中,「度为 0 的节点数(叶 阅读全文
posted @ 2025-11-24 15:50 mc12356 阅读(27) 评论(0) 推荐(0)
摘要: 滑动窗口 滑动窗口的窗口就是一个区间,滑动窗口就是遍历每一个区间。 力扣最大区间平均数 实际就是求定长区间和,这是滑动窗口最简单的题目,只需要实现窗口移动即可 class Solution { public: double findMaxAverage(vector<int>& nums, int 阅读全文
posted @ 2025-11-21 18:38 mc12356 阅读(6) 评论(0) 推荐(0)
摘要: 计算机内存的组织方式 要理解指针,首先需要明确计算机内存的组织方式:计算机内存被划分为一个个连续的字节(Byte),每个字节都有一个唯一的编号,这个编号称为内存地址(类似门牌号)。例如,32 位系统的地址范围是0x00000000到0xFFFFFFFF(共 4GB),64 位系统则更大。 这里的4G 阅读全文
posted @ 2025-11-21 15:22 mc12356 阅读(29) 评论(0) 推荐(0)
摘要: 单调栈 单调栈是一种特殊的栈结构,它的特点是栈内元素始终保持单调递增或者单调递减。在处理一些与数组元素的大小关系、位置关系相关的问题时,单调栈能发挥重要作用,其时间复杂度通常为O(n) ,因为每个元素最多进栈和出栈一次。 分类:(从下至上的单调) 单调递增栈:栈内元素从栈底到栈顶依次递增。当新元素入 阅读全文
posted @ 2025-11-20 15:46 mc12356 阅读(22) 评论(0) 推荐(0)
摘要: 在 C++ 中,vector是标准库(STL)提供的动态数组容器,属于序列容器的一种。它结合了静态数组的高效随机访问特性与动态扩容能力,是日常开发中最常用的容器之一。本文将详细解析其实现原理与常见操作。 vector 概述 vector本质是动态数组,支持在运行时动态调整大小。其核心特点包括: 元素 阅读全文
posted @ 2025-11-17 22:04 mc12356 阅读(61) 评论(0) 推荐(0)
摘要: Makefile 是一种用于自动化构建程序的工具脚本,核心作用是定义项目的编译规则,通过分析文件依赖关系,仅重新编译修改过的文件,从而大幅提高项目构建效率。尤其在多文件项目中,手动输入编译命令(如 gcc a.c b.c -o app)会非常繁琐,而 Makefile 可以通过 make 命令一键完 阅读全文
posted @ 2025-11-16 16:56 mc12356 阅读(46) 评论(0) 推荐(0)
摘要: 欧拉筛: 欧拉筛(线性筛)是一种用于高效找出n范围内所有素数的算法,时间复杂度为 O(n),其核心优势在于避免了对同一个合数的重复标记。 算法原理 欧拉筛的核心思路是让每个合数只被它的最小质因数筛去。 简单的讲就是找出当前未找出的最小素数,然后顺便把所有以该素数为最小质因数的数剔除掉。 为了避免重复 阅读全文
posted @ 2025-11-16 16:18 mc12356 阅读(26) 评论(0) 推荐(0)
摘要: GCC(GNU Compiler Collection)是一套功能强大的编译器工具集,支持 C、C++、Objective-C 等多种编程语言,是 Linux 环境下开发的核心工具之一。掌握 GCC 命令的用法,能帮助你灵活控制编译过程(预处理、编译、汇编、链接),并生成可执行文件或库。 一、GCC 阅读全文
posted @ 2025-11-09 16:44 mc12356 阅读(79) 评论(0) 推荐(0)
摘要: 终端快捷键 1. ctrl + c 强制停止 2. ctrl + d 退出登出 3. history 查看历史命令 4. !命令前缀,自动匹配上一个命令 5. ctrl + r,搜索历史命令 6. ctrl + a | e,光标移动到命令开始或结束 7. ctrl + ← | →,左右跳单词 8. 阅读全文
posted @ 2025-11-06 20:18 mc12356 阅读(21) 评论(0) 推荐(0)