logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【Linux系统篇】开发必备:高效工具与命令速查

本文介绍了Linux学习中常用的两类开发工具。首先讲解了软件包管理器(如yum/dnf、apt),重点说明其解决依赖关系的优势,并列出CentOS系统下dnf的常用命令。其次详细介绍了vim多模式编辑器的三种基础模式(命令/插入/底行模式)及其核心操作命令,包括模式切换、光标移动、编辑操作等,同时提及了vim的配置文件位置。全文强调Linux生态中软件来源的社区属性,指出丰富的软件仓库是衡量操作系

文章图片
#开发语言#vim#linux +2
【C++11】深度解析类的新功能、lambda、包装器function和bind

本文摘要: C++11引入了多项新特性:1.类的默认移动构造/赋值生成条件严格,需未显式定义析构、拷贝构造或拷贝赋值;2.支持成员变量声明时赋缺省值;3.新增=default强制生成默认函数,=delete禁止函数调用;4.STL新增unordered_map/set及右值引用接口。Lambda表达式作为匿名仿函数,通过捕获列表使用外部变量,底层由编译器生成唯一类名实现。function包装器统一

文章图片
#开发语言#c++
【C++11】深入解析C++11右值引用与移动语义

本文摘要: C++11右值引用与移动语义是提升性能的重要特性。文章系统介绍了左值/右值的本质区别(能否取地址)、右值引用的语法与底层实现,重点分析了移动语义如何通过资源转移避免深拷贝。通过string类的移动构造/赋值案例,演示了如何利用右值引用优化临时对象处理。文章还探讨了完美转发机制(forward)保持参数原始值类别的原理,以及引用折叠规则在模板元编程中的应用。这些特性共同解决了C++98中

文章图片
#算法#c++#开发语言
【C++】二叉搜索树深度剖析——掌握key/key_value两类二叉搜索树

二叉搜索树是一种高效的数据结构,具有左子树值小于等于根节点、右子树值大于等于根节点的特性。其性能取决于树的高度,最优情况下时间复杂度为O(logN),最差退化为O(N)。文章详细介绍了二叉搜索树的实现,包括节点结构、插入、查找和删除操作,并区分了仅存储key和存储key-value两种应用场景。前者适用于存在性检查(如车牌识别),后者支持键值映射(如字典翻译)。针对删除操作的四种情况给出了具体解决

文章图片
#数据结构#算法#c++ +2
【C++】揭秘C++多态:虚函数与动态绑定的奥秘

本文系统讲解了C++多态的核心概念与实现原理。主要内容包括:1)多态分为编译时多态(函数重载/模板)和运行时多态(虚函数机制);2)实现运行时多态需要满足基类指针/引用调用虚函数、完成虚函数重写(函数名/参数/返回值相同)两个条件;3)重点分析了虚函数表机制,通过虚表指针实现动态绑定;4)介绍了纯虚函数与抽象类,以及override/final关键字的使用;5)对比了重载、重写和隐藏的区别。文章通

文章图片
#c++#开发语言#算法
【C++】STL关联式容器:set与map高效查找秘籍

本文系统讲解了STL中的关联式容器map与set,重点分析了其底层实现原理和使用方法。set是基于红黑树实现的有序去重容器,支持高效查找(O(logN))和自动排序,元素不可修改。map则是存储键值对的有序容器,同样基于红黑树实现,允许修改value但不允许修改key。文章详细介绍了它们的构造方法、增删查操作、迭代器特性,以及与multiset/multimap的区别。通过LeetCode例题展示

文章图片
#c++#开发语言#算法 +2
【C++】红黑树:比AVL树更实用的平衡二叉搜索树

红黑树是一种自平衡二叉搜索树,通过节点颜色(红/黑)和四条规则保证平衡:根节点为黑、红节点子节点必黑、任意路径黑节点数相同。其最长路径不超过最短路径的2倍,保证了O(logN)的查找效率。插入时需处理三种情况(变色、单旋+变色、双旋+变色),并通过旋转和变色维持平衡。验证时需检查颜色、根节点、红节点规则及路径黑节点数。删除操作较复杂,涉及多种情况处理。红黑树相比AVL树旋转次数更少,广泛应用于C+

文章图片
#算法#c++#开发语言 +1
【C++ 排序算法】十大经典排序算法原理深度解析

本文系统介绍了多种排序算法,分为比较排序和非比较排序两大类。重点讲解了插入排序(直接插入、希尔排序)、选择排序(直接选择、堆排序)、交换排序(冒泡、快速排序)和归并排序的原理、代码实现及性能分析,包括时间复杂度、空间复杂度和稳定性。特别对快速排序的Hoare法和前后指针法进行了详细说明,并提出了三数取中和小规模数据使用插入排序的优化策略。最后总结了各算法的关键特性对比表,指出不同算法在不同场景下的

文章图片
#排序算法#算法#数据结构 +2
【C++】stl_list深度剖析

本文深度剖析了C++中list的实现原理与使用方法。首先介绍了list作为双向带头循环链表的基本特性,对比了其与vector的迭代器差异。重点解析了list的核心接口,包括emplace_back与push_back的区别、splice操作特性及迭代器失效问题。随后通过源码重构的方式,详细讲解了list的三个核心类实现:节点类(ListNode)、迭代器类(ListIterator)和链表类(Li

文章图片
#c++#开发语言#算法 +2
【C++】stack&queue&deque&priority_queue深度剖析

本文介绍了容器适配器的概念及其应用,重点分析了stack、queue和priority_queue的实现原理。容器适配器是一种设计模式,通过转换接口实现不同容器的功能复用。stack和queue基于deque实现,具有灵活变换底层容器的特点。文章详细讲解了deque的双端队列结构及其优缺点,比较了vector和list的特性差异。最后介绍了优先级队列priority_queue的堆实现原理,以及仿

文章图片
#c++#开发语言#算法 +2
    共 15 条
  • 1
  • 2
  • 请选择