- 博客(14)
- 收藏
- 关注
原创 算法排序及代码实现
2.1 findVal>arr[mid],说明你要查找的数在mid的右边,因此需要递归的向右查找。2.2 findVal<arr[mid],说明你要查找的数在mid的左边,因此需要递归的向左查找。案例:请对一个有序数组进行二分查找{1,8,10,89,153,1000,1234},输入一个数。数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或小于中间元素,则在数组大于或小于中间元素的那一。半中查找,而且此过程可以递归进行,直到找到要查找的元素,或者整个数组。
2025-09-11 10:22:50
875
原创 排序算法知识点总结
3. 实例:初始序列[51,33,62,96,87,17,28,51],经6趟排序后得到升序序列[17,28,33,51,51,62,87,96]。3. 实例:初始序列[51,33,62,96,87,17,28,51],经7趟排序后得到升序序列[17,28,33,51,51,62,87,96]。4. 实例:初始序列[51,33,62,96,87,17,28,51],从第2个元素开始依次插入已排序序列,最终得到升序结果。4. 递归对左部分[1,3,4]和右部分[9,7]重复上述操作,直至数组有序。
2025-09-09 11:57:02
240
原创 认识递归及爬楼梯
使用递归时需注意栈空间的使用和终止条件的设置,避免无限递归。4. 必须逼近终止条件:递归必须有一个明确的终止条件,否则会导致无限递归,最终引发栈溢出错误(StackOverflowError)。特点:每次调用时传入不同的参数,通过不断缩小问题规模来解决复杂问题,使代码更简洁。1. 独立的栈空间:每次递归调用都会创建一个新的受保护的独立栈空间。3. 栈相关问题的替代:递归代码通常比显式使用栈的代码更简洁。2. 递归次数有限:递归调用的次数必须是有限的。3. 存在终止条件:必须有明确的结束递归的条件。
2025-09-08 11:07:31
209
原创 认识队列以及代码实现
出队操作:若输出栈为空,则将输入栈所有元素弹出并压入输出栈,再从输出栈弹出栈顶元素。1. 栈的特性:后进先出(LIFO),只能在栈顶进行插入(push)和删除(pop)。· 队列的输出序列与入队序列一致(如入队1,2,3,4,则出队也为1,2,3,4)。· front() / peek():查看队头元素(不删除)。2. 队列的特性:先进先出(FIFO),只能在队尾插入,队头删除。· 出队(dequeue):在队头(front)移除元素。· 入队(enqueue):在队尾(rear)添加元素。
2025-09-05 10:22:55
304
原创 栈的认识以及代码测试
栈是一种特殊的线性表,它同样由一系列数据元素组成,但是栈的操作受到限制,只允许在一端(称为栈顶)进行插入(压栈,push)和删除(弹栈,pop)操作。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。4. 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。我们把生活中的栈的概念引入到计算机中,就是供数据休息的地方,它是一种数据结构,数据既可以进入到栈中,又可以从栈中出去。
2025-09-04 10:48:24
801
原创 认识单向链表
如果你老是按索引找元素(比如“给我第100个元素”),那链表很慢,不如用数组(顺序表)。你可以把单向链表想象成一列小火车,每节车厢(我们叫它“节点”)都连着下一节车厢。链表类会有一个 head 指针指向第一个节点,并提供插入、删除、遍历等方法。节点在内存中不是挨着存的,而是东一个西一个,靠指针连起来。当你需要频繁插入删除,但不怎么按位置查找的时候,用链表很合适。尾节点的指针是空的(null),表示火车到这里就结束了。· 要删除的节点就“掉队”了,会被垃圾回收。· 把它的指针指向要删除节点的下一个节点;
2025-09-04 10:25:34
260
原创 数据结构和算法概论
算法是一组明确定义的、有限的步骤,用于解决特定问题或执行特定任务。它类似于烹饪食谱,详细说明从初始状态到期望结果的转换过程。时间复杂度用于衡量算法执行时间随输入规模增长的变化趋势,通常用大O符号(O)表示。它描述算法在最坏情况下的运行时间上限,忽略常数项和低阶项。
2025-09-01 11:40:16
958
原创 理解shell
示例:运行ls时,Shell先fork子进程,子进程exec执行ls,父进程wait直到ls完成。Shell进程是用户登录后启动的交互式环境,负责解析命令并调用内核执行。内建命令history和alias的用法history。可通过echo $-查看当前模式,包含i表示交互式。
2025-07-07 10:39:42
381
原创 vim编辑器和shell命令补充
2.管道符命令(I) 3.重定向命令符 4.paste和join文件合并echo命令输出显示 5.练习题:使用vim编辑器创建一个.txt文本文件。 文件每一行的内容可以参考如图。执行如下操作:
2025-07-04 11:25:29
149
原创 xshell简单命令
bin/bashecho "欢迎使用交互式 Shell 脚本"echo "输入 'exit' 退出"while true;dothenecho "再见!
2025-07-02 17:22:34
416
原创 了解SSH及错误分析
SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络中提供安全的远程登录和文件传输服务。Xftp是配套的文件传输工具,支持SFTP协议(基于SSH)。解决:检查SSH服务状态(systemctl status sshd),开放22端口(sudo ufw allow 22)。解决:核对登录信息,检查/etc/ssh/sshd_config中PasswordAuthentication是否为yes。解决:删除~/.ssh/known_hosts中对应IP的记录,或直接选择接受新密钥。
2025-07-01 10:41:01
202
原创 关于Linux操作系统
Linux是一种开源、多用户、多任务的操作系统内核,基于Unix设计理念开发。其核心特点是自由使用、修改和分发,支持多种硬件架构(如x86、ARM)。常见的发行版包括Ubuntu、CentOS、Debian等,广泛应用于服务器、嵌入式设备及个人计算机。:无法识别U盘/光盘,或启动时提示“No bootable device”。:提示“grub-install failed”或无法进入系统。:安装时提示“无法分区”或“磁盘空间不足”。:安装软件时提示“依赖关系不满足”。:安装时无法连接网络或更新源失败。
2025-06-30 11:21:46
1004
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅