- 博客(36)
- 收藏
- 关注
原创 【计算机408计算机网络】第六章:自底向上五层模型之应用层
本文介绍了计算机网络应用层相关知识,主要包括网络应用模型(C/S模型和P2P模型)、DNS系统、文件传输协议(FTP和TFTP)、TELNET协议以及万维网(WWW)和HTTP协议。重点阐述了DNS的域名解析过程、FTP的工作原理和连接方式、HTTP协议的特点及连接类型。文章还对比了不同协议的特点和应用场景,如FTP与TFTP的区别、HTTP持久连接与非持久连接的差异等,为理解计算机网络应用层提供了基础知识框架。
2025-08-30 11:25:44
770
原创 【计算机408计算机网络】第五章:自底向上五层模型之运输层
传输层是网络体系结构中面向通信的最高层,负责进程间的逻辑通信。主要功能包括复用/分用、差错检测等。传输层协议分为UDP和TCP:UDP是无连接的简单协议,提供尽力而为的交付,首部开销小;TCP是可靠的面向连接协议,通过三次握手建立连接、四次挥手释放连接,提供有序、无差错的数据传输。TCP还包含流量控制、拥塞控制等机制,确保数据传输的可靠性。传输层通过端口号标识应用进程,使用套接字(IP地址+端口号)唯一标识网络中的主机和进程。
2025-08-30 09:54:25
2284
原创 【计算机408计算机网络】第四章:自底向上五层模型之网络层
静态路由算法(非自适应路由算法):管理员手工配置路由信息。简便、可靠,在负荷稳定,拓扑变化不大的网络中较好。适用于高度安全的军事网络与较小的商业网络。路由更新慢,不适合用于大型网络。动态路由算法(自适应路由算法):路由器之间交换信息,按照路由算法优化出路由表。路由更新快,适用大型网络,及时响应链路反应与网络拓扑变化。算法复杂,加重网络负担。全局性:所有路由器掌握完整的网络拓扑和链路费用信息;如链路状态路由算法OSPFOSPFOSPF。
2025-08-30 09:34:49
940
原创 【计算机408计算机网络】第三章:自底向上五层模型之数据链路层
本文介绍了数据链路层的基本概念和功能,包括数据链路层的定义、组帧方法、差错控制技术等核心内容。重点阐述了四种组帧方法(字符计数法、字符填充法、零比特填充法和违规编码法)及其特点,详细讲解了差错控制的三种主要编码方式(奇偶校验码、CRC循环冗余码和海明码),包括它们的检错纠错原理和具体实现方法。文章还说明了数据链路层如何通过不同的编码技术来检测和纠正传输过程中可能出现的位错和帧错问题,为理解数据链路层的工作原理提供了系统性的知识框架。
2025-08-29 15:04:02
1199
原创 【计算机408数据结构】第十章:基本数据结构之排序算法
本文系统介绍了排序算法的基本概念和主要分类,重点分析了插入排序和交换排序两大类的算法原理、性能特点及优化策略。主要内容包括: 排序基本概念:定义了内部排序、外部排序、稳定性等关键术语,指出排序算法的性能主要取决于比较和移动操作。 插入排序类算法: 直接插入排序:通过逐个元素插入实现排序,时间复杂度O(n²),适合基本有序序列 二分插入排序:优化比较过程,但时间复杂度仍为O(n²) 希尔排序:采用增量分组策略,平均时间复杂度可达O(n^1.3) 交换排序类算法: 冒泡排序:通过相邻元素比较交换实现排序,可优化
2025-08-29 14:08:15
1901
原创 【计算机408数据结构】第九章:基本数据结构之查找算法
本文介绍了查找的基本概念和常见方法。主要内容包括: 查找基本概念:定义查找、查找表、关键字、静态/动态查找表、查找长度和平均查找长度ASL等核心概念。 线性表查找方法: 顺序查找:适用于无序和有序线性表,时间复杂度O(n) 折半查找:仅适用于有序顺序表,利用二分思想,时间复杂度O(log2n) 分块查找:结合顺序查找和索引查找,块内无序、块间有序 二叉查找树(BST): 定义:左子树结点值小于根结点,右子树结点值大于根结点 操作:查找、插入和删除的算法实现 特点:中序遍历得到有序序列,查找效率取决于树的高度
2025-08-29 14:03:41
997
原创 【计算机408计算机网络】第二章:自底向上五层模型之物理层
物理层是网络体系结构的基础层,负责比特流的传输。主要概念包括通信方式(单工/半双工/全双工)、传输方式(串行/并行)和信号类型(基带/频带/宽带传输)。传输单位涉及码元、波特率和比特率,奈氏准则和香农定理分别规定了码元传输速率和数据传输速率的极限。编码技术将数据转换为数字信号,包括非归零编码、曼彻斯特编码等;调制技术则将数据转换为模拟信号,如ASK、FSK、PSK等调制方法。物理层需平衡传输速率、抗干扰性和信道利用率等关键因素。
2025-08-27 00:18:55
575
原创 【计算机408数据结构】第八章:基本数据结构之图
这篇文章主要介绍了图论中的基本概念和存储结构。主要内容包括: 图的定义与分类:图由顶点集和边集组成,分为无向图、有向图、简单图、多重图等不同类别。 图的度量指标:介绍了顶点的度、路径、回路等概念,以及连通图、强连通图、生成树等连通性概念。 图的存储结构:重点介绍了邻接矩阵和邻接表两种主要存储方式。邻接矩阵适合稠密图,可以快速判断顶点连通性;邻接表适合稀疏图,节省存储空间。 数学性质:如邻接矩阵的幂次表示路径数量等特性。 文章强调对概念的理解,而非具体算法实现。内容涵盖了图的定义、分类、基本性质、连通性分析以
2025-08-27 00:11:11
551
原创 【计算机408数据结构】第七章:基本数据结构之树型结构
本文系统介绍了树和二叉树的基本概念、性质与遍历方法。主要内容包括:1) 树的定义与基本术语,如结点度、层次、高度等;2) 二叉树的性质与存储结构,重点讨论了完全二叉树和满二叉树的特性;3) 二叉树的遍历算法,包括递归/非递归实现的先序、中序、后序遍历以及层序遍历;4) 如何通过不同遍历序列组合构造二叉树;5) 线索二叉树的实现原理及其在前驱后继查找中的应用。文章通过数学公式和算法流程详细阐述了树结构的关键特性,为理解和应用树型数据结构提供了理论基础。
2025-08-26 00:34:37
763
原创 【计算机408数据结构】第六章:基本数据结构之字符串算法
字符串与模式匹配算法摘要 本文主要介绍了字符串的基本概念和两种模式匹配算法。字符串是由字符组成的有限序列,涉及子串、空串等重要概念。文章详细讲解了朴素模式匹配算法及其时间复杂度分析,以及更高效的KMP算法。KMP算法通过预处理模式串生成next数组,避免主串指针回溯,将时间复杂度优化至O(m+n)。此外还介绍了KMP算法的优化版本,通过nextval数组避免重复比较相同字符,进一步提升效率。模式匹配是字符串处理的核心操作,KMP算法因其优异性能被广泛应用。
2025-08-26 00:31:18
1098
原创 【计算机408数据结构】第五章:基本数据结构之数组的存储与压缩
数组是由同类型元素构成的有序集合,支持通过下标访问元素。其存储结构分为一维数组(连续存放)和二维数组(行优先或列优先存储)。特殊矩阵如对称矩阵、三角矩阵和三对角矩阵可采用压缩存储来节省空间,如对称矩阵只存放下三角部分。稀疏矩阵由于非零元素少,通常使用三元组或十字链表存储。数组一旦定义维数不可变,只能进行元素存取和修改操作。
2025-08-25 00:30:28
858
原创 【计算机408数据结构】第四章:基本数据结构之队列
队列是一种先进先出(FIFO)的线性表,只能在队尾插入、队头删除元素。主要类型包括顺序队列(易产生假溢出)、循环队列(通过模运算解决空间浪费)和链式队列。循环队列通过三种方式判断队满:牺牲一个存储单元、增加数据个数成员或使用tag标记。双端队列允许两端操作。队列广泛应用于层次遍历、广度优先搜索及解决CPU与外设速度不匹配等问题。其核心特点是操作受限,但能有效管理数据流动。
2025-08-25 00:28:44
481
原创 【计算机408数据结构】第三章:基本数据结构之栈
栈及其应用摘要 栈是一种后进先出(LIFO)的线性表结构,只允许在表尾进行插入和删除操作。主要分为顺序栈和链栈两种实现方式,顺序栈通过数组实现,链栈则采用链表结构。栈具有多种应用场景,包括括号匹配、表达式求值(中缀转后缀/前缀表达式)、递归函数调用和迷宫求解等。表达式求值中,通过运算符优先级和栈操作实现不同表达式形式的转换;递归调用时,栈用于保存函数调用信息;迷宫问题中,栈记录当前路径信息。栈的这些特性使其成为计算机科学中重要的基础数据结构。
2025-08-24 11:33:01
1099
原创 【计算机408数据结构】第二章:基本数据结构之线性表
本文介绍了线性表的两种主要存储结构:顺序表和链表。顺序表采用连续存储空间,支持随机访问但插入删除效率低;链表通过指针连接离散存储单元,插入删除高效但不支持随机访问。详细阐述了顺序表、单链表、双链表、循环链表和静态链表的定义、特点及基本操作(初始化、插入、删除、查找等),并对比了顺序表和链表在逻辑结构、物理结构、创建销毁、增删改查等方面的优缺点。顺序表适合静态数据频繁访问,链表适合动态数据频繁修改。
2025-08-24 11:31:15
1174
原创 【计算机408计算机网络】第一章:初识计算机网络
计算机网络概述:连接自治计算机的集合,实现数据通信、资源共享等功能。按分布范围分为广域网、城域网、局域网和个人区域网;按交换技术分为电路交换(时延小但效率低)、报文交换(动态分配线路)和分组交换(更高效灵活)。性能指标包括速率、带宽、吞吐量、时延等。体系结构采用分层模型,OSI参考模型分为7层,各层通过协议和服务实现通信。关键技术包括数据报和虚电路两种分组交换方式,分别适用于不同场景。
2025-08-23 21:06:01
806
原创 【计算机408数据结构】第一章:数据组织与管理的基本概述
摘要:数据结构与算法基础概念总结。数据结构包含数据项、元素和对象三个层次,需存储元素值及其关系。数据结构三要素包括逻辑结构、存储结构和数据运算。算法是有限指令序列,具有有穷性、确定性等特性。好算法需具备正确性、可读性、高效性等特点。时间复杂度度量算法执行时间与问题规模的关系,常用大O表示法;空间复杂度衡量算法存储需求,递归调用会影响空间复杂度。分析复杂度时通常关注最坏和平均情况。
2025-08-23 20:59:08
576
原创 【计算机408计算机组成原理】第八章:常见的汇编指令(X86版)
摘要 汇编语言是介于机器语言和高级语言之间的低级编程语言,使用助记符表示机器指令,便于人类理解和记忆。汇编程序需要通过编译转换为机器码才能执行。8086CPU作为x86架构的鼻祖,具有14个16位寄存器,包括通用寄存器(AX、BX、CX、DX等)、段寄存器(CS、SS、DS、ES)和控制寄存器(IP、FLAGS)。其20位地址线通过段地址×16+偏移地址的方式实现1MB内存寻址。标志寄存器(FLAGS)包含状态标志位(CF、PF、ZF等)和控制标志位(TF、IF、DF),用于反映运算状态和控制CPU操作。
2025-08-23 20:51:49
674
原创 【计算机408计算机组成原理】第七章:I/O系统的硬件实现
外部设备也称外围设备,是除了主机以外的、能直接或间接与计算机交换信息的装置。用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。按显示设备所用的显示器件分类:按所显示的信息内容分类:参数:每个存储汉字数据的汉字内码占2B2B2B,表示汉字形体的字形码以16×1616\times1616×16点阵表示,为32B32B32B大小。打印机是计算机的输出设备之一,用于将计算机处理结果打印在相
2025-08-23 00:01:23
895
原创 【计算机408计算机组成原理】第五章:中央处理器CPU的底层和硬件实现
CPUCPUCPU从主存中每取出并执行一条指令所需的全部时间:取指周期:取指、分析。执行周期。指令周期常常用若干机器周期来表示,机器周期又叫CPUCPUCPU周期。如取指令、取有效地址、执行指令这就是三个机器周期,是一个指令周期。一个机器周期又包含若干时钟周期(也称为节拍、TTT周期或CPUCPUCPU时钟周期,它是CPUCPUCPU操作的最基本单位)。每个指令周期内机器周期数可以不等,每个机器周期内的节拍数也可以不等。
2025-08-23 00:00:46
825
原创 【计算机408计算机组成原理】第四章:指令编码与指令系统
本文介绍了计算机指令系统的核心概念和结构。主要内容包括:指令与数据的二进制表示区别取决于程序设计;指令格式由操作码和地址码组成;指令类型按地址数量分为四地址至零地址指令;操作码可采用定长或扩展编码方式;常见操作类型包括数据传输、算术逻辑运算等;指令寻址方式解释了如何通过形式地址获取有效地址;还讨论了操作数类型、存储方式(大端/小端)及边界对齐等关键问题。文章系统阐述了指令系统的设计原理和实现方法,是理解计算机体系结构的重要基础。
2025-08-22 22:24:08
943
原创 【计算机408计算机组成原理】第二章:数据表示和运算的奇幻之旅
摘要 本文系统介绍了计算机中数据表示与运算的基础知识,主要包括: 数制系统:详细讲解了二进制、八进制、十进制和十六进制的表示方法及相互转换规则,重点介绍了除基取余法和乘基取整法。 编码方式:分析了真值与机器数的区别,阐述了BCD码的三种主要形式(8421码、余三码和2421码)及其特点。 运算原理:说明了二进制运算的基本规则,以及8421码进行算术运算时的特殊处理方法(加6修正)。 全文以表格形式清晰展示了各种进制和编码的对应关系,为理解计算机数据表示提供了系统化的知识框架。
2025-08-22 00:06:48
497
原创 【计算机408计算机组成原理】第三章:Cache映射与存储系统
本文介绍了计算机存储系统的基本概念和结构。主要内容包括:存储器分类(按作用分为主存、辅存和Cache;按存取方式分为随机存取和串行访问)、性能指标(存储容量、单位成本、存储速度)、层次化结构(CPU-Cache-主存-辅存)以及存储部件(存储元、单元、体、字)。重点比较了SRAM和DRAM的区别,前者用于Cache,速度快但成本高;后者用于主存,需刷新但集成度高。文章还详细说明了主存的结构、读写过程和地址分配方式,为理解计算机存储系统提供了基础框架。
2025-08-22 00:06:08
1028
原创 【计算机408计算机组成原理】第一章:系统概述
计算机系统由硬件和软件构成,硬件基于组成原理,软件包括系统软件和应用软件。计算机发展经历了电子管、晶体管、集成电路等阶段。现代计算机采用冯诺伊曼结构,由输入设备、存储器、运算器、控制器和输出设备组成。存储器分为主存和辅存,CPU包含运算器和控制器。计算机工作过程包括取指令、分析指令和执行指令三个阶段。指令和数据通过不同时间段区分,指令执行流程涉及多个寄存器的协同工作。计算机系统层次结构体现了从硬件到软件的完整体系。
2025-08-21 22:15:21
1001
原创 【计算机408操作系统】第五章:设备管理
本文摘要: I/O设备管理是操作系统的重要组成部分,主要涉及I/O设备的基本概念、控制器功能和不同控制方式。I/O设备按特性可分为人机交互、存储和网络通信三类;按速度分为低速、中速和高速设备;按信息交换单位分为块设备和字符设备。I/O控制器作为CPU与设备间的中介,负责命令接收、状态报告和数据交换等功能。I/O控制方式包括程序直接控制(CPU轮询)、中断驱动(异步通知)、DMA(直接内存访问)和通道控制(专用处理器)四种,从简单到复杂逐步提高了CPU与I/O设备的并行性。其中DMA方式通过块传输减少CPU干
2025-08-21 06:30:00
772
原创 【计算机408操作系统】第四章:文件管理
本文介绍了文件系统的基本概念和操作。主要内容包括:文件系统的定义和作用,文件的基本属性(如文件名、类型、大小等),文件控制块(FCB)和索引结点的结构与功能。详细阐述了文件的基本操作(创建、删除、读写等)和打开关闭流程,以及文件保护的三种方式(口令、加密、访问控制)。最后介绍了文件的逻辑结构分类,包括无结构文件和有结构文件,重点分析了顺序文件的特点和存取方式。全文系统性地讲解了文件管理的核心知识,为理解文件系统提供了基础框架。
2025-08-21 06:00:00
947
原创 【计算机408操作系统】第三章:内存管理
内存管理摘要 内存管理是操作系统核心功能,主要包括内存分配/回收、地址映射、内存保护和共享。程序执行需经过编译、链接和装入三个阶段。内存管理方式分为连续分配(单一连续、固定分区、动态分区)和非连续分配(分页、分段、段页式)。动态分区会产生外部碎片,可通过紧凑技术解决。常见分区分配算法有首次适应、最佳适应、最坏适应和邻近适应算法,各有优缺点。分页存储管理将内存划分为固定大小的页框,解决内存碎片问题。
2025-08-20 22:44:53
1124
原创 【计算机408操作系统】第二章:进程管理
本文摘要: 进程管理是操作系统核心功能之一。进程是程序的一次执行过程,由程序段、数据段和进程控制块(PCB)组成。进程具有动态性、并发性、独立性等特征,并存在运行态、就绪态、阻塞态等状态转换。进程控制通过原语实现创建、终止、阻塞、唤醒等操作。进程间通信方式包括共享存储、消息传递和管道通信。共享存储需互斥访问,消息传递通过格式化消息交换,管道通信则使用固定缓冲区实现数据流传输。这些机制共同实现了操作系统的并发控制和资源共享功能。(150字)
2025-08-20 22:40:48
1221
原创 【计算机408操作系统】第一章:系统概述
操作系统概述 操作系统是计算机系统中最基本、最核心的系统软件,主要功能包括: 资源管理:控制和管理计算机的硬件和软件资源,包括处理器管理、存储器管理、文件管理和设备管理。 用户接口:提供命令接口、程序接口和图形用户接口三种方式,方便用户与计算机交互。 虚拟机功能:通过软件扩展硬件功能,将裸机转化为更易使用的虚拟机器。 操作系统具有四个基本特征: 并发性:多个程序同时运行(宏观上) 共享性:资源被多个程序共同使用 虚拟性:通过技术手段扩展资源 异步性:程序执行速度不可预知 操作系统经历了从手动操作、单道批处理
2025-08-20 00:37:53
1199
原创 C++与C语言二叉树遍历深度对比
摘要:本文对比分析了二叉树遍历的C语言与C++实现方案。C语言采用过程式编程,通过结构体和指针实现递归遍历,强调内存管理;C++利用类封装和递归构建提升可维护性,支持三种遍历方式。核心时间复杂度均为O(n),但C++方案更适用于大型项目。差异体现在数据结构设计、内存管理方式等方面,建议根据场景需求选择:资源受限用C语言,复杂度高选C++。扩展方向包括非递归遍历和智能指针优化。
2025-08-19 23:16:10
699
原创 C++单链表:标准库与手动实现大比拼
摘要:本文对比了C++中单链表的两种实现方式。标准库forward_list提供简洁高效的链表操作,包括遍历、查找、插入和删除,但灵活性较低。手动实现通过Node结构体和指针操作,更贴近底层原理,适合学习数据结构本质,但需处理内存管理。两者时间复杂度相同,标准库更适合生产环境,手动实现适合教学和定制需求。文章建议优先使用标准库确保可靠性,同时推荐初学者通过手动实现加深理解。
2025-08-19 23:02:30
649
原创 ds算法练习5
该题目要求计算一个特殊数列的区间和,数列构造规则为:第1段1,第2段1-2,第3段1-3,依此类推。给定T次询问,每次求[l,r]区间内元素的和。 关键思路: 数学推导确定任意位置n所在的块pos,通过解二次不等式得到pos的最小值 前pos-1个完整块的和可用立方公式计算 当前块的部分和用等差数列求和公式计算 前缀和相减得到任意区间和 解法特点: 时间复杂度O(1)每次查询 使用long long防溢出 通过平方根近似快速定位所在块 该方法高效解决了大规模数据下的区间求和问题,适用于1e9量级的查询。
2025-08-18 23:59:45
980
原创 ds算法练习4
本文摘要包含四个编程问题的解决方案: 计算1到N中二进制表示恰好有K个1的整数个数,使用bitset库实现。 统计2001-2021年间各位数字之和为完全平方数的日期数量,通过日期遍历和数字处理实现。 寻找满足区间内元素乘积等于和的子数组个数,采用前缀和与前缀积方法解决。 统计1到N中满足奇数位为奇数、偶数位为偶数的"好数"数量,通过字符串反转和位次检查实现。 每个问题都提供了完整C++代码实现和输入输出样例。
2025-08-18 23:58:27
437
原创 ds算法练习3
本文摘要: 问题9:给定一个整数序列,进行K次操作,每次删除最小值并给相邻元素加上该值,最后输出剩余序列。提供了基于优先队列优化的C++实现。 问题10:模拟m天内冰山体积变化过程,包括体积增减、消失、分裂(超过k时)和新增冰山,计算每天结束时的总体积。给出了两种C++解决方案。 问题11:计算1到n中包含数字2、0、1、9的数字之和。提供了两种判断方法:逐位检查和字符串查找。 问题12:统计1-10000中满足前后半位数和相等的偶数位数的"幸运数字"数量。实现了两种检测方法:字符串转换
2025-08-18 23:47:27
2486
原创 ds算法练习2
本文摘要:包含4个算法问题的解决方案。1)计算数组元素两两乘积最大值并存储;2)寻找数组中出现次数超过半数的元素;3)判断链表B是否为链表A的连续子序列;4)通过增量修改使数组元素唯一。每个问题都给出了C++实现代码,涉及排序、哈希表、链表遍历等算法,时间复杂度和空间复杂度各异。关键算法包括:排序后处理极值、使用map统计频次、链表模式匹配以及增量去重策略。
2025-08-18 00:06:01
372
原创 ds算法练习1
摘要: 三元组距离计算:通过三指针法在三个有序数组中寻找距离最小的三元组,时间复杂度O(n),空间复杂度O(1)。算法依次比较三个数组当前元素,将最小值的指针后移,并计算D值。 字符串压缩:遍历字符串统计连续字符出现次数,生成形如"a2b1c5"的压缩串。若压缩后长度未缩短则返回原串,时间复杂度O(n),空间复杂度O(n)。 数字提取求和:扫描字符串提取连续数字,计算总和并输出算式。使用状态标志处理数字边界,时间复杂度O(n),空间复杂度O(n)。 双序列中位数:两种方法:(1)合并后取
2025-08-17 23:59:30
463
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅