自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 栈的实战应用:字符串消除与表达式求值

中缀表达式逆波兰表达式2 1 + 3 *操作符放在操作数之后,不需要括号。为什么用栈?逆波兰表达式天然适合用栈求值遇到数字入栈,遇到操作符弹出两个操作数计算后入栈对比项1047 删除相邻重复项150 逆波兰表达式求值栈的作用匹配与消除存储操作数入栈条件与栈顶不同遇到数字出栈条件与栈顶相同遇到操作符核心操作push / pop结果位置栈中所有元素栈顶元素问题类型典型题目栈的作用相邻匹配消除1047 删除相邻重复项匹配相同元素表达式求值150 逆波兰表达式。

2026-09-10 10:40:13 108

原创 # 数据结构变形记:用队列实现栈

通过用队列实现栈,我们深入理解了两种数据结构的本质区别,学会了通过巧妙设计来"变形"数据结构的核心技巧。核心收获:理解本质:队列(FIFO)和栈(LIFO)的差异决定了实现策略巧妙转换:通过"旋转"操作改变元素的访问顺序权衡设计:不同的实现方案在时间和空间上各有优劣通用思想:这种"用 A 实现 B"的思想在编程中很常见队列实现栈功能,关键在于改顺序;多队列来帮忙转,单队列就自己旋;push 可慢也可快,pop 一定是 O(1);理解本质最重要,举一反三更有效。

2026-09-08 12:08:46 163

原创 链表操作进阶:从单节点翻转到两两交换

与修改节点值的操作不同,结构性操作改变的是节点之间的连接关系修改值:1 → 2 → 3 → 4 → 1 → 5 → 3 → 4结构性操作:1 → 2 → 3 → 4 → 4 → 3 → 2 → 1特征反转链表(206)两两交换(24)操作模式全部反转分组交换处理单元单个节点两个节点指针数量2个(prev, curr)3个(prev, first, second)虚拟头节点可选,推荐强烈推荐核心操作反转链表(206):基础但核心的操作,是所有结构性操作的基础。

2026-09-08 12:02:37 132

原创 链表操作全攻略:从设计到实战

链表是一种线性数据结构节点结构:非连续存储:节点在内存中不连续动态扩展:可以随时添加或删除节点指针连接:通过指针维护节点间的逻辑关系为什么使用虚拟头节点?统一处理空链表避免头节点的特殊判断简化插入和删除逻辑// 操作...链表是数据结构的基础,掌握链表操作对理解更复杂的数据结构至关重要。链表设计:单链表和双链表的实现操作技巧:插入、删除、遍历核心思想:虚拟头节点、边界处理内存管理:C++ 中的 new 和 delete记住,虚拟头节点。

2026-09-03 10:09:46 207

原创 数组算法进阶指南

双指针指的是使用两个指针(变量)来遍历数据结构,通过指针的移动和比较来解决问题。左右指针:从两端向中间移动快慢指针:一个移动快,一个移动慢前后指针:一个指向处理位置,一个指向待处理位置滑动窗口是双指针的一个特例,通常用于处理连续子数组/子串的问题。用左右指针维护一个"窗口"右指针扩大窗口(增加元素)左指针缩小窗口(移除元素)窗口像一个"滑动的框"在数组上移动对比项双指针(平方问题)滑动窗口(子数组问题)指针移动方向两端向中间同向移动关键操作比较两端值维护窗口和。

2026-09-02 12:34:06 362

原创 【无标题】数据结构概念与数组的基本知识

数组(Array)是一种线性数据结构,它用一组连续的内存空间来存储一组具有相同类型的数据。特性说明存储方式连续内存空间访问方式通过索引 O(1) 随机访问插入/删除O(n) 需要移动元素适用场景需要频繁随机访问,较少插入删除。

2026-09-01 11:36:26 223

原创 linux使用结构化命令

支持 -eq、-ne、-gt、-lt、-ge、-le。运行 bash test.sh,输出结果截图即可。若命令退出码为0,则执行then后命令。二、if-then-else与elif。用于测试数值、字符串、文件条件。使用 &&(与)和 ||(或)。echo “文件存在且可读”echo “以test开头”echo “文件存在且可读”echo “str以h开头”echo “平方不大于20”echo “平方大于10”echo “num大于3”echo “平方大于20”一、if-then语句。

2026-07-10 16:56:12 166

原创 构建基本的shell脚本

name=“张三”age=20score=95.5echo “姓名: $name, 年龄: $age, 分数: $score”⚠️ 重要:脚本中定义的变量在脚本执行完毕后自动销毁,无法在Shell命令行中访问!4.3 命令替换(Command Substitution)命令替换是指将命令的执行结果赋值给变量,有两种格式:格式 语法 推荐度反引号command旧式,不推荐(易混淆)$() $(command) ✅ 推荐(清晰、支持嵌套)bash/bin/bash。

2026-07-09 20:02:11 238

原创 用户管理和文件权限

全局变量 当前Shell + 所有子Shell env, printenv 随Shell终止而消失(除非写入配置文件)环境变量是操作系统或Shell维护的键值对(KEY=value),用于存储系统运行时的配置信息。理解重点:全局变量在子Shell中修改不会影响父Shell,因为子Shell继承的是副本。局部变量 仅当前Shell set(查看所有) 随Shell终止而消失。Bash Shell通过环境变量管理会话信息、用户偏好、程序路径等。查看单个变量 echo $var 加 $ 引用变量。

2026-07-08 10:41:56 188

原创 Linux环境变量

1 查看所有全局变量 env 显示大量键值对,如 HOME=/home/zhang、SHELL=/bin/bash、PATH=/usr/local/bin:/usr/bin:/bin 等。6 在子Shell中查看 $PWD echo $PWD 输出与父Shell相同的路径,例如 /home/zhang(因为 $PWD 是全局变量,子Shell继承)17 父Shell中尝试查看该变量 echo $my_sub 无任何输出(因为子Shell的局部变量在退出后销毁)

2026-07-07 10:27:05 228

原创 理解Shell

💡 提示:在日常工作中,/bin/sh 和 /bin/bash 通常不做严格区分,#!Bourne Again Shell /bin/bash 最常用,多数Linux默认Shell。Bourne Shell /usr/bin/sh 或 /bin/sh 早期标准Shell。在父Shell中输入 bash 命令,会创建一个子Shell(Child Shell)K Shell /usr/bin/ksh 功能强大的商业Shell。C Shell /usr/bin/csh C语言风格的Shell。

2026-07-06 10:27:19 184

原创 使用vim编辑器和xshell命令补充

输入:echo “Second line” >> test.txt(无输出,追加到文件)输入:echo “apple banana orange” | grep banana。输入:echo “First line” > test.txt(无输出,写入文件)输入:name=“Zhang” echo “$name”输入:grep “First” < test.txt。输入:paste col1.txt col2.txt。输入:echo “Hello, Linux”输入:cat test.txt。

2026-07-03 11:09:40 189

原创 linux命令总结

磁盘 umount 卸载设备。进程 top 实时监控系统。磁盘 mount 挂载设备。压缩 gzip 单文件压缩。进程 ps 查看进程快照。进程 kill 终止进程。磁盘 df 磁盘整体使用。数据 sort 排序数据。数据 grep 检索文本。压缩 tar 打包/解包。磁盘 du 目录级使用。分类 命令 核心用途。

2026-07-03 10:33:39 215

原创 【无标题】

10 cat、more、less、head、tail 查看文件内容(head -n 前N行,tail -n 后N行,tail -f 实时监控)《Linux基础命令学习笔记:pwd、cd、ls、touch、cp、mv、rm、mkdir、rmdir、cat等》4 touch 创建空文件,更改访问/修改时间(-a 改访问,-m 改修改)3 ls 列出目录内容(-l 详细格式,-a 显示隐藏文件)7 rm 删除文件(-f 强制删除,-r 递归删除目录)8 mkdir 创建目录(-p 递归创建多级目录)

2026-07-02 13:39:32 211

原创 【无标题】

连接超时/无法连接 虚拟机未启动;启动SSH服务:sudo systemctl start ssh;连接被拒绝 SSH服务配置错误;检查/etc/ssh/sshd_config配置文件;私钥权限不对 私钥权限设为600:chmod 600 ~/.ssh/id_rsa;SSH(Secure Shell)是一种安全外壳协议,用于在网络中实现安全的远程登录和命令执行。Xshell是Windows平台常用的SSH客户端,用于远程管理Linux服务器。连接中断 网络不稳定;密钥认证 使用公钥/私钥对认证,更安全。

2026-07-02 13:27:33 216

原创 《从零开始:Ubuntu Linux操作系统安装全攻略》

优点:安全(系统崩溃不影响宿主机)、方便(可快照还原)、节约成本。通过本次安装,了解了Linux操作系统和虚拟机的基本概念,掌握了从下载到安装的全流程,学会了常见问题的排查方法,为后续学习Linux命令和开发打下基础。· Ubuntu镜像:官网 https://ubuntu.com/download/desktop 下载ISO文件。2. 选择"稍后安装操作系统",类型选Linux,版本选Ubuntu 64位。安装卡住不动 网络慢/镜像损坏 取消"安装时下载更新",重下镜像。

2026-06-30 21:15:14 397

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除