- 博客(72)
- 资源 (2)
- 收藏
- 关注
原创 计算机网络
这种分离的设计是实现并发服务器的基础:服务器可以只有一个监听套接字来持续接受新的连接,同时为每一个已建立的连接创建一个独立的通信套接字(通常交给新的进程或线程处理),从而实现同时服务多个客户端。解析: 这是一个常见陷阱。之后,那个失效的SYN报文终于到达了服务器,服务器会误以为是一个新的连接请求,于是回复SYN-ACK并分配资源等待数据。SYN-ACK:服务器收到后,如果同意连接,则回复一个SYN-ACK包(SYN=1, ACK=1),确认号为ack=x+1,同时自己也随机生成一个序列号seq=y。
2025-09-20 18:22:04
961
原创 C++/操作系统
解析:智能指针的默认删除器使用delete释放内存,因此如果使用malloc分配,则释放方式不匹配,会导致未定义行为。如果非要使用,需要自定义删除器。B:位段通过将多个变量打包到一个存储单元中来节省内存,但访问时需要额外的移位和掩码操作,因此可能增加代码大小和执行时间。解析:A、B、C、D都是正确的。A、B:栈和堆的大小通常在链接时确定(通过链接脚本),但堆的大小有时也可以在运行时调整(例如使用sbrk函数)。D:它不会初始化新分配的内存(除非是扩大时新扩展的部分,但标准并未规定其内容,通常是垃圾值)。
2025-09-20 18:21:23
541
5
原创 两种哈希表的使用 unordered_set和unordered_map
本文介绍在LeetCode刷题时常用的两个基于哈希的数据结构。其可以在O(1)的时间复杂度内存储、查找某些元素,主要用于降低O(n)级别的时间复杂度。
2025-08-26 17:24:25
166
原创 爬楼梯及其进阶
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶。
2025-07-09 23:46:05
451
原创 3.5 const限定修饰符
魔法数字(Magic Number) 是指在代码中直接使用的没有明确含义的常量数字,它们通常没有解释或说明,因此对代码的可读性、可维护性和可扩展性造成负面影响。例如,下列代码中的“3.14159”即为魔法数字。此外代码中需要使用到的一些人为设置的阈值,也属于魔法数字。例如,代码中“512”意为当前设置的缓存区大小。直接使用魔法数字降低了代码的可读性,也加大了代码的维护难度(比如阈值发生变动时,需要对多处进行手动修改)。令魔法数字等于某个变量可以提高代码的可读性、降低代码的维护难度。但是存在变量可能被无
2024-12-03 11:30:14
397
原创 3.4字符串类型
使用char时,要注意存储单个字符和存储字符串时不同的写法// 使用char存储单个字符// 使用char存储字符串时,需要使用const进行修饰。
2024-12-01 15:10:52
437
原创 3.3 指针类型
指针是一种存储相关类型变量地址的变量,通常由“*”和相关类型组成,比如 * int、* string等。指针主要用来建立特定结构(如:链表、树)、管理在程序的执行过程中动态分配的对象、传递数组或大型的类对象等。
2024-11-29 18:12:34
397
1
原创 LPNet for Image Derain
图像去雨论文Lightweight Pyramid Networks for Image Deraining阅读
2023-03-04 20:29:43
1085
原创 C++指针
什么是指针变量一个变量的地址称为该变量的指针。指针变量是一种存储被指向变量地址的特殊变量。指针变量的声明方式:基类型 * 变量名;指针工作方式:指针只存储一个地址,指针的基类型决定了取多少字节的数值,比如int * pint;pint中存储的为内存地址,而int类型决定了取四个字节。指针的赋值:定义时赋值:存储类型(默认auto) 基类型 * 变量名 = 初始地址; 指针变量赋值:指针变量名 = &变量名;指针基础应用指针的声明、赋值与使用#include <iost
2022-04-09 15:11:57
1338
2
原创 数据库组成
层次模型定义:有且只有一个节点没有双亲结点;除根节点以外的其他节点有且只有一个双亲结点。特点:任何一个给定的记录值只能按其层次路径查看,没有任何子女节点可以脱离双亲结点单独存在。数据操纵:插入、查询、更新和删除。完整性约束:当没有相应的双亲结点值时无法插入;删除双亲结点时,相应的子女结点一并被删除。优点:数据结构比较清晰。查询效率高。提供了两道的完整性支持缺点:现实中有很多联系无法使用层次模型进行描述(如多对多联系)。由于一个结点只能有一个双亲结点,用来描述有多个双亲
2022-04-03 12:07:42
1193
原创 数据结构_35
一、线性表 排序:冒泡排序、选择排序、快速排序、归并排序 查找:二分查找二、树 遍历:递归(前中后序、层次) 排序:大根堆、小根堆 哈夫曼树三、图 广度优先遍历 深度优先遍历 最小生成树:Prim算法、Kus算法 最短路径:Dij算法一、线性表排序算法 .
2021-11-19 21:44:40
395
原创 数据结构_38
LazyPrim算法思路LazyPrim算法思路:1、选择一个顶点,2、将其所有临边加入3、判断联通分量是否为1联通分量为1—>退出联通分量不为1—>从所有临边中选择一条最小,且能使联通分量减少的边加入。重复2、3。LazyPrim算法伪码:LazyPrimMst(graph *Graph){ marked = new bool[Graph.dot()];//定义顶点访问标记数组 marked = false;//默认顶点均未被访问 Unicoms = Graph.d.
2021-11-17 00:48:14
424
原创 数据结构_43
主要内容: 背包问题 关键路径一、背包问题: 给定空间,给定物品,选取最符合条件的物品。0/1背包完全背包多重背包*二、关键路径 AOV网中完成所有事件需要的最短时间(最长路径) 关键活动所在的路径AOV网:有向带权图;起点:入度为零;终点:出度为零;关键活动:最早开始时间和最晚开始时间一致。...
2021-11-13 01:13:41
297
原创 数据结构学习_44
主要内容: 1. 逆波兰表达式 2. 稀疏矩阵存储方式 3. 平衡二叉树 4. 大根堆/小根堆 构建方式 5. 完全二叉树/满二叉树一、逆波兰表达式 先把一般表达式按中序存储,再按后续遍历输出。 优点在于,后序遍历时方便计算运算。运算时可以对一般表达式进行遍历;遇到数字时,存入栈;遇到操作数时先后从栈顶取出op1和op2,然后执行 “op2操作符op1” 然后讲运算结果存回栈中即可.
2021-11-12 01:41:59
444
原创 二叉树中序非递归遍历Back_Rhythm
1、二叉树中序遍历规则:左子结点,根结点,右子结点2、非递归思路:二叉树中序遍历时会出现父结点的打印顺序在子结点之后的情况。因此,当二叉树使用链表存储时,实现非递归遍历需要用到栈。由于中序遍历的关键点在第一次输出,即树的最左结点。而树的最左结点分两种情况:左根、左叶如果是左根,在输出自己后需要输出右子结点;如果是左叶结点,则需要输出根结点后再遍历右兄弟。/*代码思路:第一步:结点入栈至最左结点;第二步:取出栈顶元素 输出值,将其右子树加入栈顶 此时有两种情况: 1、左叶,此时右子结点为
2021-07-29 16:22:05
272
edk2-BaseTools-win32-master.zip
2020-05-15
MaxHeap.zip
2020-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅