- 博客(18)
- 收藏
- 关注
原创 Java数据结构查找算法
• 核心原理:对二分查找的优化,针对均匀分布的有序数据,不固定取中间元素,而是通过公式(mid = low + (target - arr[low]) * (high - low) / (arr[high] - arr[low]))计算目标值可能所在的位置,缩小查找范围。Java 中数据结构的查找算法,核心围绕线性查找(无结构依赖)和基于有序结构的查找(依赖数据有序性,效率更高)展开,不同算法在时间复杂度、适用场景上差异明显,需根据数据是否有序、存储结构等选择。
2025-09-14 20:24:04
755
原创 java数据结构排序算法
时间复杂度 O(d*(n + k))(d 为数字位数),空间复杂度 O(n + k),稳定;平均时间复杂度 O(n log n),空间复杂度 O(log n),不稳定;时间复杂度 O(n + k)(k 为数据范围),空间复杂度 O(k),稳定;平均时间复杂度 O(n log n),空间复杂度 O(n),稳定;适合数据量大(n>10⁴)且需要稳定排序的场景。Java 中数据结构排序算法核心分比较类排序(基于元素比较)和非比较类排序(基于数据特征),两类算法在时间/空间复杂度、稳定性上差异显著,适用场景不同。
2025-09-14 20:21:07
268
原创 【无标题】
以F(5)为例,递归调用过程为F(5)=F(4)+F(3),F(4)=F(3)+F(2)等,直到分解到F(1)和F(0),再逐层返回结果,最终得到F(5)=5。斐波那契数(F(n))形成的数列,由0和1开始,满足F(0) = 0,F(1) = 1,n > 1时F(n) = F(n - 1) + F(n - 2)。可采用迭代法(动态规划思想),从底向上计算,避免重复计算,将时间复杂度降为O(n),空间复杂度降为O(1)。递归调用需占用栈空间,空间复杂度为O(n),易栈溢出且效率低。(一)斐波那契数定义。
2025-09-08 17:04:50
188
原创 小学期作业
用栈实现队列的核心思路,是借助两个功能互补的栈完成操作转换,分别命名为“入栈”(负责接收待入队元素)与“出栈”(负责执行出队操作)。而执行出队操作时,需先判断“出栈”是否为空——若为空,就将“入栈”中所有元素依次弹出并压入“出栈”,此时“出栈”内元素顺序与入队顺序完全一致,再弹出“出栈”栈顶元素即可实现队列的“先进先出”;若“出栈”不为空,则直接弹出其栈顶元素,避免重复转移元素影响效率。通过本次实践可见,用栈实现队列的关键在于利用两个栈的“反转”特性,将栈的“后进先出”转换为队列的“先进先出”。
2025-09-05 16:44:34
345
原创 小学期作业
而栈只允许在一端,也就是栈顶,进行插入(压栈)和删除(弹栈)操作,遵循后进先出(LIFO)原则,就像生活中的客栈,旅客进客栈休息后离开,数据进入栈和从栈中出去也类似这样的顺序。通过学习,我理解到栈这种数据结构在计算机领域有广泛应用,比如括号匹配问题,就可以利用栈的后进先出特性来解决,遇到左括号压栈,遇到右括号弹栈,最后根据栈的状态判断括号是否匹配。栈的学习不仅让我掌握了一种重要的数据结构,也加深了我对数据结构设计思想的理解,为后续学习更复杂的数据结构和算法打下了基础。
2025-09-04 17:03:05
154
原创 【无标题】
这种结构让顺序表能随机访问,快速定位元素,查找效率高,但插入和删除元素时,需要移动大量元素,效率较低,通常用一维数组实现,并用变量记录长度。而链表则是链式存储,通过节点的指针域连接,不需要连续的存储空间,插入和删除操作只需修改指针,很高效,但查找需要顺序遍历,平均时间复杂度较高。在学习过程中,我深刻体会到不同存储结构的线性表各有优劣,在实际应用中,要根据具体需求,比如是频繁查找还是频繁插入删除,来选择合适的线性表类型。除头尾外,其他元素都有且仅有一个前驱和一个后继,就像排队的人,前后顺序清晰。
2025-09-03 16:46:33
154
原创 小学期作业
当需要在“李四”后面插入“李四”时,先借助indexOf方法找到“李四”在顺序表中的位置,再使用insert方法在该位置后插入新的“李四”,插入过程中通过元素后移为新元素腾出空间,确保了数据的有序性。查找“李四”位置时,indexOf方法遍历顺序表,返回对应的索引值,若不存在则返回-1,方便快速定位元素。综上,基于Java线性表实现的学生管理系统,借助顺序表的各类操作方法,能够高效、便捷地完成学生姓名的添加、插入、删除、查找、打印和清空等管理任务,体现了线性表在数据存储与管理方面的优势。
2025-09-03 16:36:31
143
原创 小学期作业
如当n \to \infty时,T(n)=2n^3 + 3n^2 + 2n + 1,T(n)/n^3 \to 2,按大O定义,T(n)=O(n^3)。常见的算法时间复杂度有O(1)、O(\log(n))、O(\sqrt{n})、O(n)、O(n\log(n))、O(n^2)、O(e^n)等,它们的增长趋势各不相同。常见的数据结构有线性表、栈、队列、串及数组、树形结构、图形结构等,其存储结构包括顺序存储、链式存储、索引存储、散列存储等,同时还有检索、排序、插入、删除、修改等数据运算操作。
2025-09-01 17:00:09
444
原创 【无标题】
then ... ,功能和 test 命令一致,用于测试数值、字符串和文件条件。最基础的结构化命令是 if - then 语句,在此基础上延伸出 if - then - else 语句,还能通过 elif 语句将多个 if - then - else 连接,构建更复杂的条件判断逻辑。例如,写一个脚本判断用户输入的是文件还是目录,先通过 test 命令(或方括号)判断是否存在,再用双方括号判断名称模式,结合 if - then - else 及 elif 语句处理不同情况。
2025-07-11 16:04:03
366
原创 【无标题】
它能把多个命令整合到一个文件里,让 Shell 按顺序执行,这大大提升了命令批量处理的效率。比如,我们可以写一个简单的脚本,依次完成文件创建、内容写入等操作,不用逐个在终端输入命令。比如写一个脚本,先定义变量,再用 wc 统计文件行数,接着做数学运算,最后通过 $?统计文件内容行数时,wc 命令很好用。通过这次实践,我搭建起了 Shell 脚本知识的框架,掌握了各命令和功能的用法。近期在学习 Shell 脚本相关知识后,通过在 Xshell 中实际操作,对 Shell 脚本的核心要点有了更深入的理解。
2025-07-11 16:01:05
425
原创 【无标题】
文件权限上,每个文件有属主、属组、其他用户三个安全等级,对应读(r)、写(w)、执行(x)权限,可用符号或八进制值表示。若要让组内用户共享文件,chmod g+rw test.txt赋予组用户读写权,chown :newgroup test.txt修改文件属组,结合chmod和chown批量改目录下文件权限,用chmod -R g+rw .(递归处理当前目录)、chown -R :newgroup .,实现组内资源共享,操作后ls -l查看,确认权限变更。
2025-07-09 16:44:09
418
原创 【无标题】
查看当前PATH变量可用 echo $PATH ,输出以冒号分隔的目录列表,像 /usr/local/sbin:/usr/local/bin 等,若要临时添加新目录到PATH,可执行 PATH=$PATH:/new/directory ,不过这种方式重启会话后失效,若想永久生效,需将该命令写入 .bashrc 或 .bash_profile。编辑 .bashrc ,添加自定义环境变量或别名,保存后执行 source ~/.bashrc ,新配置就能立即在当前会话生效,让我们能个性化定制操作环境。
2025-07-09 16:19:47
299
原创 【无标题】
当在终端执行新命令(如 bash 开启子 Shell ),当前 Shell 是父 Shell,新启动的是子 Shell。在 Xshell 中,用 echo $SHELL 查看当前使用的 Shell 类型,若结果是 /bin/bash ,说明当前是 bash 环境。echo $VAR) (括号开启子 Shell ),子 Shell 内输出 child ,父 Shell 执行 echo $VAR 仍为 parent。把 Shell 知识按类型、关系、用法、命令分类梳理,明确各部分概念与实操要点。
2025-07-07 16:43:16
404
原创 【无标题】
若在 Ubuntu 环境,需先通过 sudo apt - get install vim 安装基础包,用 which vim 可查其安装路径(如 /usr/bin/vim ),ls -l /usr/bin/vim 能看到它是指向 /etc/alternatives/vim 的链接,这些操作在 Xshell 中执行,截图留存结果,清晰呈现软件安装与路径信息。命令模式中,x 删除光标处字符,dd 删除整行,yy 复制行、p 粘贴;• 移动光标:命令模式下,h(左)、j(下)、k(上)、l(右)逐字符移动;
2025-07-07 16:11:55
263
原创 【无标题】
在 Xshell 输入 cd /var/log 到日志目录,再 cd .. 回 /var。-p 参数可递归建多层,如 mkdir -p /new/dir ,即便父目录不存在也能创建。若提示 mkdir: cannot create directory ‘xxx’: File exists ,是目录已存在,换名称或删原有目录(rm -r 需谨慎 )再建。-n 带行号显示,如 cat -n /etc/hosts。通过实操,梳理命令体系:ls 列目录、cd 跳目录、mkdir 建目录,构建文件操作基础;
2025-07-07 13:57:34
323
原创 【无标题】
解决办法就是找管理员赋予权限,或者切换有权限的用户,用 sudo su (要输入密码且有 sudo 权限),之后再执行 ls 命令就正常了。cd .. 返回上一级,cd ~ 直接回到用户主目录,cd /目标路径 能精准定位,比如 cd /home/user/docs ,在 Xshell 里输入就能切换,简单高效。本次借助 Xshell 工具,对一批实用命令开展实操,梳理知识框架,还会聊聊操作中碰到的错误及解决办法,助力大家稳扎稳打构建 Linux 基础技能。可查看文件内容,也能合并文件。
2025-07-03 15:16:46
421
原创 【无标题】
配置完成后,尝试连接,首次连接会出现主机密钥确认提示,选择“接受并保存”,之后就能成功通过 Xshell 连接到虚拟机,后续在 Xshell 里输入命令,实际运算在虚拟机 Linux 系统进行,实现远程操控。另外,了解到 Xftp 可配合 Xshell 进行文件传输,在 Xshell 会话中,可快速调用 Xftp,建立连接后,通过直观的图形界面,拖拽文件就能实现本地与虚拟机之间的文件上传下载,方便在本地和虚拟机 Linux 系统间传输资料,比如上传代码文件到虚拟机,下载虚拟机里的日志文件等。
2025-07-03 13:42:35
316
原创 【无标题】
常用虚拟机软件:VMware Workstation、VirtualBox、Hyper-V。常见发行版:Ubuntu、CentOS、Debian、Fedora等。- 解决:进入BIOS启用Intel VT-x或AMD-V。- 解决:更改虚拟机显卡设置或使用文本模式安装。优势:隔离环境、资源分配、快照功能、多系统同时运行。- Linux安装过程截图(分区、用户设置等)- 终端运行命令截图(如`uname -a`)特点:开源、自由、稳定、安全、多用户多任务。应用场景:服务器、嵌入式系统、超级计算机等。
2025-06-30 19:20:56
451
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅