logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【数据结构】排序(4)——归并排序&计数排序

本文介绍了归并排序和计数排序两种算法。归并排序采用分治法思想,通过递归或非递归方式实现,时间复杂度为O(nlogn),空间复杂度为O(n)。计数排序基于鸽巢原理,属于非比较排序,适用于数据范围集中的场景,时间复杂度为O(n+range)。文章还分析了八大排序算法的时间复杂度、空间复杂度和稳定性,指出归并排序是稳定的,而计数排序的应用场景较为局限。最后通过表格对比了各种排序算法的性能特征。

文章图片
#数据结构#排序算法#算法
【Linux系统】虚拟地址空间

本文探讨了进程虚拟地址空间的基本概念与实现原理。通过父子进程共享变量地址但值不同的实验现象,验证了程序中的地址并非物理地址而是虚拟地址。文章详细介绍了虚拟地址空间与页表的关系,解释了页表如何通过映射实现物理内存管理,以及通过标志位控制访问权限和内存状态。同时阐述了Linux内核如何通过mm_struct和vm_area_struct结构体管理虚拟地址空间的不同区域。最后分析了虚拟地址空间的重要意义

文章图片
#linux#ubuntu
【算法】常见位运算总结

本文介绍了C++中常用的六种位运算符及其应用。主要内容包括:1)左移(<<)和右移(>>)操作符的位移功能及数学意义;2)按位取反(~)、与(&)、或(|)、异或(^)四种逻辑运算的真值表和运算规则;3)位运算的实用技巧,如判断特定位值、修改特定位、提取/消除最右侧1等;4)位图思想在哈希表中的应用;5)异或运算的交换律、结合律等运算规律。文章通过图示和代码示例详细说明了每种运算的功能特点和使用方

文章图片
#算法#c++
【Linux系统】进程状态详解

本文主要介绍了操作系统教材层面的进程状态,以及下放到Linux的具体的进程状态表现。此外,还补充了前台进程与后台进程相关知识。

文章图片
#linux#android#c++
【Linux网络】传输层UDP协议

本文主要讨论了网络通信中的端口号和UDP协议。端口号用于标识主机上的不同应用程序,知名端口号(如HTTP的80端口)通常固定分配,而客户端端口号由操作系统动态分配。UDP协议报文结构简单,包含源/目的端口号、长度、校验和及数据段。文章解答了多个关键问题,包括端口号绑定规则、UDP报头本质(即结构体变量)、封装过程(结构体变量拷贝)以及报文管理(Linux内核使用sk_buff结构体描述报文)。通过

文章图片
#网络#linux#udp
【Linux网络】网络基础(1)——网络基础知识

本文从计算机发展的视角探讨了网络技术的演进历程及其核心概念。首先分析了网络诞生的背景——早期独立计算机无法数据互通,催生了局域网(LAN)和广域网(WAN)的发展。随后重点阐述了网络协议的核心概念,指出协议本质是通信双方的约定,并通过电话通信的类比说明了协议分层的必要性和优势(解耦、易维护)。文章详细介绍了OSI七层模型的理论框架,并着重解析了实际应用的TCP/IP五层模型(物理层、数据链路层、网

文章图片
#linux#网络#运维
【Linux系统】Ext系列文件系统

本文深入探讨了Linux的Ext系列磁盘级文件系统。首先介绍了磁盘的物理结构(主轴、磁片、磁头)和存储结构(扇区、磁道、柱面),并解释了CHS地址定位原理。随后阐述了磁盘的逻辑结构可抽象为三维数组,操作系统使用LBA地址进行寻址以提高效率。文章重点讲解了文件系统的核心概念:引入"块"(通常4KB)作为文件存取最小单位,通过分区和分组管理大容量磁盘。最后以Ext2文件系统为例,说明其通过块组组织磁盘

文章图片
#linux#运维
【Linux系统】命令行参数与环境变量

本文主要介绍了命令行参数和环境变量的概念与应用。在命令行参数部分,阐述了main函数的argc和argv参数的作用,说明命令行输入会被拆分为字符串数组存入argv,argc记录参数个数,并指出命令行参数是实现Linux命令选项功能的基础。环境变量部分重点讲解了PATH的作用机制,解释为何程序需要"./"前缀执行,以及如何通过修改PATH实现无前缀执行。同时介绍了常见环境变量如H

文章图片
#linux#运维#服务器
到底了