logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【数据结构】AVL树

AVL树是最早提出的自平衡二叉搜索树,通过严格限制每个节点的左右子树高度差不超过1来保证平衡性。其核心操作包括四种旋转方式:左单旋处理右子树过高,右单旋处理左子树过高,以及左右双旋和右左双旋处理更复杂的失衡情况。AVL树节点存储平衡因子(右子树高-左子树高),插入时通过回溯父节点更新平衡因子,触发旋转保持平衡。查找、插入和删除操作的时间复杂度稳定为O(logn)。验证AVL树需要同时检查二叉搜索树

文章图片
#c++
【数据结构】栈和队列经典题目

' ( '入栈,++s, 遇到 ')' , 与栈顶元素' ( ' 相匹配,把' ( '弹出栈,++s,遇到 ' { '入栈,++s, 遇到 ' [ '入栈 ,++s,遇到 ' } ' , 与栈顶元素 ' [ ' 进行匹配,不配对,返回false,字符串无效。将一个栈当作输入栈用来入数据,一个栈当作输出栈用来出数据,由于栈具有后进先出的特性,若输出栈为空,则将输入栈中的数据全部导入到输出栈,这样输出

文章图片
#算法#数据结构
【数据结构】7道经典链表面试题

题目描述:给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。 否则,返回false。题目描述:给定一个链表的头节点 head

文章图片
#数据结构#链表
【C++】list容器的模拟实现

本文深入解析了C++标准库中list容器的实现原理。list底层采用双向循环链表结构,通过节点指针连接实现动态存储。文章详细介绍了节点结构、哨兵位头节点设计、迭代器实现、插入/删除操作的核心指针调整逻辑,以及迭代器失效问题。特别强调了拷贝构造和赋值运算符必须实现深拷贝,避免共享节点内存。同时分析了const迭代器和operator->重载的实现技巧,并对比了传统与现代写法的差异。最后说明了C

文章图片
#c++
【C++】C++11 Lambda表达式

本文系统介绍了C++11引入的Lambda表达式特性。主要内容包括:1) Lambda基础语法和捕获列表机制,包括值捕获、引用捕获及混合捕获方式;2) Lambda的实现原理,编译器将其转换为匿名仿函数类;3) Lambda在STL算法中的典型应用,相比传统仿函数具有代码简洁、逻辑内聚的优势。Lambda通过就地定义匿名函数对象,极大简化了回调函数的编写,是C++现代化编程的重要特性。

文章图片
#c++#开发语言
【C++11】智能指针详解

智能指针是C++中管理动态内存的重要工具,解决了裸指针手动管理内存的诸多问题。智能指针是RAII最经典的应用,也是现代 C++ 管理动态内存的首选方案,它通过封装原生指针并重载运算符,实现了像使用普通指针一样方便,同时又能自动管理。C++11 标准引入了三种主要的智能指针:std::unique_ptr、std::shared_ptr、std::weak_ptr,并废弃了旧的std::auto_p

文章图片
#c++#开发语言
【C++】C++11 异常

本文系统介绍了C++异常处理机制,主要内容包括:1. 异常处理基础:核心概念(try-catch-throw)、捕获规则和执行流程;2. 栈展开机制:自动销毁局部对象的过程及其对异常安全的重要意义;3. noexcept关键字:作为说明符和运算符的用法,及其在STL容器中的性能优化作用;4. 异常重新抛出:语法形式和典型应用场景;5. 异常多态与标准库异常:标准异常继承体系及自定义异常类的最佳实践

文章图片
#c++
【C++】C++11 异常

本文系统介绍了C++异常处理机制,主要内容包括:1. 异常处理基础:核心概念(try-catch-throw)、捕获规则和执行流程;2. 栈展开机制:自动销毁局部对象的过程及其对异常安全的重要意义;3. noexcept关键字:作为说明符和运算符的用法,及其在STL容器中的性能优化作用;4. 异常重新抛出:语法形式和典型应用场景;5. 异常多态与标准库异常:标准异常继承体系及自定义异常类的最佳实践

文章图片
#c++
【数据结构】红黑树

红黑树是一种自平衡二叉搜索树,通过颜色规则和旋转操作维持近似平衡。其核心特性包括:根叶必须为黑、不存在连续红节点、所有路径黑节点数相同。相比AVL树,红黑树调整频率更低(插入时最多2次旋转),查询性能差距可忽略,空间开销更小。实现上,红黑树节点包含颜色属性(红/黑),插入时默认红色以减少平衡破坏。平衡调整分为两种情况:叔父节点为红色时变色处理,为黑色时结合旋转操作。红黑树验证需检查BST性质、颜色

文章图片
#c++#数据结构
【数据结构】动态顺序表的实现

顺序存储结构:把数据元素放到地址连续的内存单元里面,其数据间的逻辑关系和物理关系是一致的,比如我们常用的数组就是顺序存储结构。链式存储结构:是把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的,也可以是不连续的。此时,数据间的物理关系不能反映其逻辑关系。所以每一数据元素均使用一个结点来存储,不仅需要存储数据元素,而且还要存储数据元素之间的逻辑关系(将结点分为两部分,一部分存储数据元素本身

文章图片
#数据结构#c语言
    共 11 条
  • 1
  • 2
  • 请选择