logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

[Linux系统] 冯诺依曼体系 | 操作系统 | 进程状态

本文系统阐述了冯诺依曼体系结构下计算机硬件与软件的协作机制,重点解析操作系统在资源管理中的核心作用。通过进程与PCB(task_struct)概念,揭示进程的创建(fork)、状态(运行、僵尸、孤儿等)及优先级(PRI/NI)机制。强调内存作为数据中转站的关键地位,以及系统调用与库函数的协同关系。结合实例说明进程管理中的常见问题如僵尸进程、写时拷贝及cwd/exe属性,全面展现现代操作系统对多任务

文章图片
#开发语言#linux#操作系统
[LC优选算法#12] 位运算 | 两整数之和 | 只出现一次的数字 II | 消失的两个数字

本文介绍了三道使用位运算解决的算法题: 两整数之和:通过异或和与运算模拟加法,循环处理进位直至无进位。 只出现一次的数字II:统计每位出现次数后模3,定位唯一数字的各个比特位。 消失的两个数字:结合异或特性分组处理,将问题转化为找两个出现一次的数字。 这些解法均利用位运算高效实现,时间复杂度为O(1)或O(N),空间复杂度优化至O(1),展示了位运算在特定场景下的独特优势。

文章图片
#算法#c++
[LC优选算法#1] 双指针 | 移动零 | 复写零 | 快乐数 | 盛⽔最多的容器 | 有效三⻆形的个数 | 查找总价格为目标值的两个商品 | 三数之和 | 四数之和

本文系统讲解了双指针算法的核心思想、分类及典型应用。双指针分为快慢指针(速度不同)和对撞指针(首尾相向移动)两种类型,适用于有序或单调数据结构。文章详细分析了7个经典力扣题解:移动零、复写零、快乐数、盛水容器、有效三角形、两数之和及三数之和,展示了双指针如何将O(N²)暴力解优化至O(N)或O(NlogN)。关键点在于利用数据单调性确保指针单向移动,避免回退。文章强调使用前提(有序性、单调性、元素

文章图片
#算法
C++:优先队列的模拟实现

本文介绍了优先队列的堆实现方式及其C++模拟实现:优先队列作为容器适配器,默认使用vector作为底层容器,通过堆算法维护元素优先级。

文章图片
#c++#开发语言
C++:多态机制完全解析

本文详细介绍了C++多态的概念、实现方式及其原理。主要内容包括: 多态分为编译时多态(函数重载/模板)和运行时多态(虚函数机制); 实现多态需要满足:基类指针/引用调用、虚函数且完成重写; 虚函数通过虚函数表实现动态绑定,派生类重写会覆盖基类虚函数地址; 介绍了协变、override/final关键字、纯虚函数和抽象类的特性; 解析了多态底层原理,包括虚函数表指针、动态绑定机制等。文章通过代码示例

文章图片
#c++#开发语言
C++:深入理解AVL树与代码实现

AVL树是一种自平衡二叉搜索树,其核心特性是左右子树高度差的绝对值不超过1,通过平衡因子(右子树高度减左子树高度)来控制平衡。文章详细介绍了AVL树的结构设计(包含平衡因子和父节点指针)、插入操作(包括平衡因子更新和四种旋转调整:右单旋、左单旋、左右双旋、右左双旋)、查找操作以及平衡性检测方法。AVL树的平衡特性使其时间复杂度稳定在O(logN),优于普通二叉搜索树。文中还提供了C++代码实现和平

文章图片
#数据结构
[C++] 深入理解红黑树与代码实现

红黑树详解与实现:红黑树是一种自平衡二叉搜索树,通过节点着色规则维护平衡性。文章首先介绍了红黑树的四大性质:根节点为黑、无连续红节点、各路径黑节点数相同。时间复杂度分析表明其操作效率为O(logN)。重点讲解了插入操作的实现细节:空树直接插入黑根节点;非空树插入红节点后,根据uncle节点颜色进行不同处理(变色或旋转+变色)。文章详细分析了四种旋转情况(左/右单旋、左右/右左双旋)的变色规则,并提

文章图片
#c++#开发语言#数据结构
C++:多态机制完全解析

本文详细介绍了C++多态的概念、实现方式及其原理。主要内容包括: 多态分为编译时多态(函数重载/模板)和运行时多态(虚函数机制); 实现多态需要满足:基类指针/引用调用、虚函数且完成重写; 虚函数通过虚函数表实现动态绑定,派生类重写会覆盖基类虚函数地址; 介绍了协变、override/final关键字、纯虚函数和抽象类的特性; 解析了多态底层原理,包括虚函数表指针、动态绑定机制等。文章通过代码示例

文章图片
#c++#开发语言
到底了