- 博客(17)
- 收藏
- 关注
原创 【无标题】
哈希表是一种基于键值对存储的数据结构,它通过哈希函数将键映射到数组的特定位置来实现快速的数据访问。3.再哈希法:使用多个不同的哈希函数,当第一个哈希函数发生冲突时,尝试第二个、第三个...哈希冲突是指不同的键通过哈希函数计算后得到相同的哈希值,从而映射到哈希表的同一个位置。1.链地址发:每个哈希表位置维护一个链表,所有映射到同一位置的元素都存储在这个链表中。2.键的空间远大于哈希表的大小,例如:有1000个键,但哈希表只有100个位置。缺点:需要额外的指针空间;将任意大小的数据映射到固定大小的值(哈希值)
2025-09-10 16:27:42
329
原创 【无标题】
核心操作包括:入队、出队、查看队首、判断是否为空、获取队列大小。核心操作包括:出栈、入栈、查看栈顶、判断是否为空、获取栈大小。基本概念:栈是一种后进先出的数据结构。基本概念:队列是一种先进先出的数据结构。函数调用栈:程序执行时的函数调用关系。括号匹配:检查括号是否成对出现。撤销操作:文本编辑器的撤销功能。任务调度:操作系统中的进程调度。浏览器后退功能:访问历史记录。表达式求值:如逆波兰表达式。消息队列:系统间的异步通信。广度优先搜索:图的遍历算法。打印队列:打印机任务管理。缓存系统:如LRU缓存。
2025-09-08 15:29:34
191
原创 【无标题】
栈是一种后进先出(LIFO - Last In First Out)的线性数据结构。括号匹配、函数调用栈、浏览器前进后退、表达式前进求值。peek/top:查看栈顶元素(不移除)enqueue:入队,在队尾添加元素。dequeue:出队,从队头移除元素。front/peek:查看队头元素。队列是一种先进先出的线性数据结构。push:压栈,在栈顶添加元素。基于数组的实现、基于链表的实现。empty:判断队列是否为空。pop:弹栈,移除栈顶元素。empty:判断栈是否为空。基于数组实现、基于链表实现。
2025-09-05 15:32:31
155
原创 【无标题】
三要素:递归终止条件、递归调用、组合结果。指针域:指向下一个节点的地址。遍历链表、插入节点、删除节点。递归的思维模式是自顶向下思考。单链表、双向链表、循环链表。前序遍历递归和后序遍历递归。
2025-09-04 15:21:16
172
原创 【无标题】
双指针节点:每个节点有前驱(prev)和后继(next)指针。删除匹配节点:当遇到值等于val的节点时,调整指针跳过该节点。返回新头节点:虚拟头节点的下一个节点就是新的头节点。虚拟头尾节点:简化边界处理,避免空链表特殊情况。双向遍历优化:根据索引位置选择从头或从尾遍历。使用虚拟头节点:简化删除头节点的特殊情况处理。遍历链表:使用当前指针遍历整个链表。
2025-09-03 15:39:47
227
原创 【无标题】
比较平方值:将左右指针所指元素的平方进行比较,将较大的平方值放入结果数组的末尾。移动左指针:当窗口内元素和 ≥ target 时,收缩窗口寻找更小的子数组。双指针法:一个指针从左(最小负数),一个指针从右(最大正数)开始。时间复杂度:O(n),空间复杂度:O(n)(用于存储结果)。记录最小长度:在收缩过程中记录满足条件的最小窗口长度。移动指针:移动较大的那个指针,并向中间靠拢。移动右指针:扩大窗口,累加元素值。滑动窗口法:使用两个指针。
2025-09-02 15:54:08
239
原创 【无标题】
数据结构是计算机存储、组织数据的方式,它研究的是:数据的逻辑结构(数据元素之间的逻辑关系)数据的物理结构(数据在计算机中的存储方式)对数据的基本操作(插入、删除、查找、排序等)数据运算:对数据的基本操作,包括插入、删除、查找、修改、排序、遍历,不同结构的运算效效率差异很大。数据是一种线性数据结构,它由相同类型的元素组成,这些元素在内存中按顺序连续存储。逻辑结构:描述数据元素间的 “关联关系”,不依赖物理存储。线性结构(一对一):比如数组、链表、栈、队列;顺序存储(连续空间):如数组,能快速定位元素;
2025-09-01 16:59:23
346
原创 第九次作业
命令返回一个非零退出状态码,if-then-else 语句能够执行另一组命令。嵌套的 if-then 语句位于主 if-then-else 语句的 else 代码块中。test 命令提供了在 if-then 语句中测试不同条件的途径。如果 test 命令中列出的条件成立,test 命令就会退出并返回退出状态码 0。这样 if-then 语句就与其他编程语言中的 if-then 语句以类似的方式工作了。如果条件不成立,test 命令就会退出并返回非零的退出状态码,这使得 if-then 语句不会再被执行。
2025-07-12 16:15:48
226
原创 加分作业项
• jack 创建一个文件 123.txt,自己可以读写,本组人可以读,其它组没有任何权限。• jack 修改该文件,让其它组人可以读,本组人可以读写。• 如果无法读写,请修改相应权限,让 xh 可以读写该文件。• xh 投靠警察,测试,看看是否可以读写,为什么?jack, jerry: 警察。xh, xq: 土匪。
2025-07-11 14:41:35
417
原创 【无标题】
root 用户可以先给用户设置一个简单的密码,之后再强制在下次登录时改成他们能记住的更复杂的密码。默认情况下,userdel 命令会只删除 /etc/passwd 和 /etc/shadow 文件中的用户信息,而不会删除系统中属于该账户的任何文件。2. 修改用户的登录名、密码、默认的登录shell、/etc/passwd 文件的备注字段。3. 查看 /etc/skel 下的文件,根据前一章的内容,解释目录下的文件是做什么的。1. 查看/etc/passwd 文件,并对某用户账户的字段进行解释。
2025-07-11 09:50:53
323
原创 【无标题】第七次作业
可以把新的搜索目录添加到现有的PATH环境变量中:引用原来的 PATH 值+给这个字符串添加新目录PATH=$PATH:/home/christine/Scripts将目录加到 PATH 环境变量之后,你现在就可以在虚拟目录结构中的任何位置执行程序。在 bash shell 中,环境变量分为两类:1.全局变量:全局环境变量对于 shell 会话和所有生成的子 shell 都是可见的。子 Shell 的变量不会影响父 Shell:子 Shell 是独立的进程,其变量修改仅影响自身,退出后变量消失。
2025-07-09 16:49:38
667
原创 【无标题】第六次作业
构建一个脚本文件执行创建新用户、给新用户分组、查看当前登录的用户,运行该脚本文件查看返回结果,为刚刚构建的脚本文件添加输出前的提示。通过echo命令可以添加自己的文本消息来告诉脚本用户脚本正在做什么,在脚本中,可以在环境。如果要两个命令一起运行,可以把它们放在同一行中,彼此间用分号“;用户变量可以是任何由字母、数字或下划线组成的文本字符串,长度不超过20个。使用等号将值赋给用户变量,在变量、等号和值之间不能出现空格。可以用命令替换运行bc命令,并将输出赋给一个变量。
2025-07-08 16:06:34
140
原创 第五次作业
使用vim编辑器或vi编辑器创建一个txt文本文件在编辑器中完成《如何使用vim编辑器操作指南》,内容应至少包括:学号姓名,如何进入和退出编辑模式,如何保存文本执行如下操作:查找你的姓名/学号,替换文件中全部vim为vi(或替换vi为vim)在首行插入你的学号和姓名执行如下操作:将全文的 vi 替换为 vim,删除第 4 行,复制第 2 行并粘贴到文件末尾1. 创建文件并编辑内容。
2025-07-07 16:01:34
145
原创 第四次作业
创建一个文本文件内容为小组成员的生日(数字表示或英语月份+日期均可)使用sort命令对生日进行排序。将练习2所在的文件夹进行压缩并解压,试试解压后的文件夹下的文件能否访问。挂载外部设备例如U盘,访问外部设备并查看外部设备中包含的文件。命令查找七月的生日(如果没有七月生日,可以选择其他月份)使用grep命令输出七月的生日(如果没有选择其他月份)的文本文件,内容包含小组成员的生日信息。卸载外部设备并查看证明外部设备已卸载。将练习2的文件进行压缩,再解压。删除原始目录(模拟传输后的状态)查看已挂载磁盘使用情况。
2025-07-07 10:34:55
147
原创 第三次作业
• 将lectures目录中的linux_basics.txt重命名为"linux_fundamentals.txt"• 删除references目录中多余的command_reference.txt文件。• 创建一个名为"commands_cheatsheet.txt"的备忘文件。• 更新commands_cheatsheet.txt的时间戳(不修改内容)• 创建一个新的空文件"project_status.txt"在项目根目录。• 创建一个名为"linux_basics.txt"的笔记文件。
2025-07-03 18:24:26
375
原创 Xshell 和 Xftp 使用教程
然后需要检查windows是否能够ping过Linux系统,点击“window+r”打开运行输入cmd后再输入“ping 127.0.0.1”,如果像下图一样就表示成功。切换到 root 用户: su root 输入刚才设置的 root 密码,即可切换到 root 用户。更改 root 用户密码:使用 sudo passwd root 命令更改 root 用户的密码。新建一个端口,输入主机ip,主机端口,子系统ip,子系统端口,完成后点击“确定”点击菜单栏"文件"→"新建"或工具栏上的"新建"按钮。
2025-07-02 15:01:40
1652
原创 虚拟机安装教程
官网下载https://cn.ubuntu.com/官网服务器在国外,下载速度较慢,可以从国内镜像下载http://mirrors.tuna.tsinghua.edu.cn/安装完成后打开VirtualBox,它的默认存储空间在C盘,如果C盘空间有限可以选择更改默认存储空间,操作如下:点击全局设定,选择常规,选择虚拟电脑位置。在下载完拓展包后,VirtualBox会提示你安装对应的拓展包,在“工具--扩展”里可以找到下载的拓展包。安装完成后,退出虚拟电脑,在管理器中打开设置,在系统一栏选择取消软驱。
2025-07-01 17:17:13
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅