logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【C++】模拟实现 红黑树(RBTree)

红黑树是一种近似平衡的二叉搜索树,通过节点颜色标记和五条核心规则实现弱平衡。它放弃了AVL树的严格平衡要求,将最长路径控制在最短路径的2倍以内,从而减少旋转次数(插入最多2次,删除最多3次),提高写操作效率。红黑树节点默认红色,通过变色和旋转维护规则:根节点黑色、无连续红节点、所有路径黑高一致。其核心优势在于保持O(logN)时间复杂度同时降低维护成本,广泛应用于C++ STL map/set、J

#c++#java#开发语言
字符函数和字符串函数(附代码与图示详解)

判断一个字符是否为字母、数字,还是大小写的互相转换,都以简洁的形式封装了底层ASCLL码逻辑命令行输入的合法性检验字符串处理中对特定字符的筛选数据格式化输出的大小写调整以上功能不仅简化了代码的编写,更规避了因直接操作ASCLL码可能导致的逻辑漏洞,时构建字符串逻辑的基础。本文将围绕常用字符函数的功能、实现原理及典型应用场景展开,带你吃透这些“小而美”的工具背后的设计逻辑与实用价值。回顾下下列表格,

文章图片
#c语言#后端
【C++】掌握list:C++链表容器的核心奥秘

本文摘要: STL中的list是基于双向循环链表实现的容器,其核心优势在于高效的任意位置插入删除操作。学习list有助于理解链式存储结构、智能迭代器设计以及底层指针操作。list的关键实现包括:节点结构(存储数据及前后指针)、迭代器封装(重载运算符实现遍历访问)和链表管理(哨兵位设计)。与vector相比,list更适合频繁增删场景,而vector则擅长随机访问。掌握list底层原理能帮助开发者根

文章图片
#c++#list#链表 +1
【C++】vector底层实现全解析

本文详细讲解了如何从零实现一个C++ vector类,包括基本框架设计、迭代器支持、内存管理、运算符重载以及插入删除操作。重点内容包括: 底层数据结构设计:使用三个指针(_start, _finish, _end_of_storage)管理动态数组; 内存管理实现:通过reserve和resize函数处理扩容和大小调整; 迭代器失效原理:在插入删除操作中如何避免和修正迭代器失效问题; 完整功能实现

文章图片
#c++#算法#后端
【Linux】Linux基本指令 & 权限全解析

本文是一份Linux命令行入门指南,重点介绍了文件操作、权限管理等实用内容。涵盖pwd、cd、ls等基础命令,文件创建/删除/移动操作,查看文件内容的多种方式,以及find、grep等搜索工具。特别详细解析了rwx权限本质,强调文件删除权限由所在目录决定。还介绍了压缩解压、进程管理等实用工具,并给出安全操作建议(如避免rm -rf误操作)。适合初学者快速掌握Linux常用命令和权限管理核心概念。

#linux#服务器#java
【Linux】开发工具链全解析:从 apt 到 gdb

本文是一份Linux开发工具实用指南,适合大一学生和自学者快速上手Linux命令行。主要内容包括:1)软件包管理器的三种安装方式对比及apt常用操作;2)gcc/g++编译器的四步处理流程(预处理、编译、汇编、链接)及动静态库区别;3)vim编辑器的三种基础模式切换。重点讲解了apt换源、gcc编译选项、动态链接原理等核心知识点,提供命令速查表和配置技巧,帮助读者高效掌握Linux开发环境搭建与基

#linux#运维#服务器
【C++】掌握vector:C++动态数组的终极指南

本文介绍了C++中vector容器的基本用法,重点讲解了其动态扩容、迭代器使用、构造方法、容量管理和增删查改操作。vector作为STL中的动态顺序表,相比数组具有自动扩容、连续存储和丰富接口等优势。文章通过代码示例展示了vector的常见操作,包括迭代器遍历、构造函数、resize/reserve容量调整,以及push_back、pop_back、find等增删查改方法。这些功能使vector成

文章图片
#c++#开发语言#后端
【C++】掌握list:C++链表容器的核心奥秘

本文摘要: STL中的list是基于双向循环链表实现的容器,其核心优势在于高效的任意位置插入删除操作。学习list有助于理解链式存储结构、智能迭代器设计以及底层指针操作。list的关键实现包括:节点结构(存储数据及前后指针)、迭代器封装(重载运算符实现遍历访问)和链表管理(哨兵位设计)。与vector相比,list更适合频繁增删场景,而vector则擅长随机访问。掌握list底层原理能帮助开发者根

文章图片
#c++#list#链表 +1
【数据结构】常见时间复杂度以及空间复杂度

本文介绍了算法复杂度的时间复杂度和空间复杂度概念。时间复杂度衡量算法运行速度,使用大O表示法分析函数的最高阶项;空间复杂度衡量算法额外占用空间,主要关注运行时申请的额外空间。通过多个代码示例分析了常见复杂度类型(常数阶O(1)、线性阶O(n)、平方阶O(n²)、对数阶O(logn)等),并对比了递归函数的复杂度计算方法。强调在实际编程中更关注时间复杂度,而空间复杂度在嵌入式领域更受重视。文章提供了

文章图片
#数据结构#算法#c语言 +1
【Linux】开发工具链全解析:从 apt 到 gdb

本文是一份Linux开发工具实用指南,适合大一学生和自学者快速上手Linux命令行。主要内容包括:1)软件包管理器的三种安装方式对比及apt常用操作;2)gcc/g++编译器的四步处理流程(预处理、编译、汇编、链接)及动静态库区别;3)vim编辑器的三种基础模式切换。重点讲解了apt换源、gcc编译选项、动态链接原理等核心知识点,提供命令速查表和配置技巧,帮助读者高效掌握Linux开发环境搭建与基

#linux#运维#服务器
    共 14 条
  • 1
  • 2
  • 请选择