
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了AVL树的核心原理与C++实现。AVL树是自平衡二叉搜索树,通过平衡因子(左右子树高度差绝对值≤1)确保操作效率稳定在O(logn)。文章详细解析了四种失衡情况(LL/RR/LR/RL)及对应的旋转修复方案,并提供了完整的C++代码实现,包含插入、删除、旋转等操作。重点包括:平衡因子计算、高度更新顺序、旋转操作后必须调整节点高度等易错点。通过图文拆解和代码注释,帮助初学者彻底掌握AVL树

本文是一份面向C++初学者的map容器实用指南,主要涵盖以下内容: 核心概念:介绍map作为自动排序的键值对容器,基于红黑树实现O(logn)时间复杂度的操作效率 核心操作: 两种插入方式:下标插入(可覆盖)和insert插入(不覆盖) 遍历方法:范围for循环获取键值对 查找方案:find()函数避免下标访问的隐式插入问题 删除功能:按键删除、迭代器删除和清空容器 实用特性:自动排序功能演示,无

本文摘要:本文是一份针对高校数据结构课程、考研及互联网秋招的红黑树底层实现教程,完整实现了红黑树的节点定义、染色机制、旋转平衡和插入修复等核心逻辑。重点讲解了红黑树相比AVL树的优势,即通过颜色约束而非高度平衡来减少旋转次数,提高增删效率。教程详细解析了红黑树的五大性质、插入操作的三大场景(纯变色、交叉失衡、直线失衡)及其修复策略,并提供了可直接编译的C++代码实现。同时指出删除操作的复杂性,明确

本文系统讲解C++ Lambda表达式,从零基础到高阶应用全覆盖,适合入门学习、期末考核和秋招面试准备。内容分为:1)核心认知:Lambda是C++11的匿名可调用对象,解决传统函数和仿函数的痛点;2)基础用法:从空Lambda到带参数、自动推导返回值的写法;3)核心捕获机制:详解5种捕获方式,重点区分值捕获和引用捕获的特性;4)底层原理:Lambda被编译为匿名仿函数类;5)实战场景:如STL排

摘要 本文全面解析C++11的std::function与std::bind,涵盖核心概念、基础语法、高阶用法及工程实践。std::function作为通用函数包装器,统一了普通函数、Lambda、仿函数等可调用对象类型,解决类型不兼容、Lambda递归、延迟调用等痛点。核心用法包括:包装各类可调用对象、实现Lambda递归(通过捕获自身引用)、存储回调函数、适配成员函数(需结合std::bind

本文全面讲解C++中的RAII机制与四类智能指针。首先从手动内存管理的痛点切入,分析原生指针的缺陷及内存泄漏风险,引出RAII(资源获取即初始化)机制的核心原理,并通过手写RAII类展示其实现方式。然后详细解析四种智能指针:独占所有权的unique_ptr、基于引用计数的shared_ptr、解决循环引用的weak_ptr,以及已被废弃的auto_ptr。重点剖析了shared_ptr的循环引用问

本文系统讲解C++异常处理机制,从基础语法到工程实践全面覆盖。主要内容包括:1)异常的核心优势(相比C错误码);2)异常三要素(try-throw-catch)及标准语法;3)堆栈展开机制及其资源安全保障;4)标准异常体系与自定义异常实现规范;5)异常说明符与重抛技巧;6)工程禁忌与面试常考点。文章采用零基础友好讲解,所有代码示例可直接运行,重点突出异常处理的核心价值:实现错误与业务逻辑分离,保证

本文全面讲解C++中的RAII机制与四类智能指针。首先从手动内存管理的痛点切入,分析原生指针的缺陷及内存泄漏风险,引出RAII(资源获取即初始化)机制的核心原理,并通过手写RAII类展示其实现方式。然后详细解析四种智能指针:独占所有权的unique_ptr、基于引用计数的shared_ptr、解决循环引用的weak_ptr,以及已被废弃的auto_ptr。重点剖析了shared_ptr的循环引用问

1.定位:KeyOfT 是通用哈希表的取键适配器,核心是适配不同存储数据类型;2.作用:从真实存储数据 T 中,统一提取哈希键 K;3.场景:Set直接返回数据本身,Map提取pair的first键;4.价值:实现一套哈希表底层,兼容unordered_map/unordered_set,是STL模板复用、适配器模式的核心体现。
16进制的数字每一位是0~9 a~f的数字 各自写成2进制 最多有4个2进制位就足够了 比如f的二进制位是1111 所以2进制转16进制的 时候 从2进制序列的右边低位开始向左依次 每4个2进制位换算一个16进制位 剩余不够4个2进制位则直接换算。8进制数字是0~7的数字 各自写成二进制每3个二进制位就足够了比如7的二进制位是111所以2进制转8进制的时候 从2进制序列中 右边低位开始向左依次 每








