- 博客(106)
- 资源 (1)
- 收藏
- 关注
原创 【C++11】—— 类的新功能
一、移动构造和移动赋值的特点二、类成员变量初始化三、强制生成默认函数的关键字default四、禁止生成默认函数的关键字delete五、继承和多态中的fifinal与override关键字
2023-01-14 17:04:56
813
1
原创 算法训练 —— 哈希
1. LeetCode242. 有效字母的异位词2. LeetCode349. 两个数组的交集3.LeetCode350. 两个数组的交集II4.LeetCode202. 快乐数5. LeetCode1. 两数之和
2023-01-04 00:03:46
4049
6
原创 算法训练 —— 链表(2)
1. LeetCode24. 两两交换链表中的结点2. LeetCode19. 删除链表的倒数第N个节点3. LeetCode160.相交链表4. LeetCode141.环形链表5. LeetCode142.环形链表II
2022-12-31 22:12:23
456
4
原创 【C++】STL —— 用哈希表同时封装出unordered_set和unordered_map
一、底层结构 1. 哈希的概念 二、哈希冲突 三、哈希函数 四、解决哈希冲突1. 闭散列(开放定址法)1. 线性探测 2. 二次探测 2. 闭散列的实现 3. 开散列(拉链法)4. 开散列和闭散列的比较 五、HashTable的改造六、unordered_set的模拟实现七、unordered_smap的模拟实现
2022-12-31 20:53:52
444
2
原创 算法训练 —— 链表(1)
1. LeetCode203.移除链表元素2. LeetCode21.合并两个有序链表3.LeetCode206.翻转链表4.LeetCode707.设计链表
2022-12-30 22:32:54
354
2
原创 算法训练 —— 数组(2)
1、LeetCode977.有序数组的平方2、LeetCode209.长度最小的子数组3、LeetCode59.螺旋矩阵II
2022-12-29 18:14:43
1803
1
原创 算法训练 —— 数组(1)
1. LeetCode704.二分查找2.LeetCode35.搜索插入位置3.LeetCode34.在排序数组中查找的第一个和最后一个位置4.LeetCode69.x的平方根5.LeetCode367.有效的完全平方数
2022-12-28 22:19:57
1972
3
原创 传输层协议 —— TCP(图解2)
目录:一、前言二、重传机制1. 超时重传2. 快速重传3. SACK4. D-SACK三、滑动窗口1. 发送方的滑动窗口2.程序是如何表示发送方的四个部分3.接收方的滑动窗口四、流量控制五、拥塞控制1. 慢启动2.拥塞避免3. 拥塞发生4.快速恢复六、TCP粘包问题七、TCP异常情况八、TCP小结
2022-12-14 18:17:26
526
8
原创 传输层协议 —— TCP(图解1)
目录一、TCP的基本认识1. TCP头部格式2. TCP协议的特点3. 什么是TCP连接4. TCP如何封装与分用 二、通过序列号和确认应答号提高可靠性1. 32位序列号2. 32位确认应答号3. 保证可靠性 4. 为什么序列号和确认应答号是单独的字段三、窗口大小1. TCP的发送和接收缓冲区2. 窗口大小 四、TCP连接建立1. TCP三次握手全过程 2. 为什么是三次握手?不是两次、四次? 3. 第一次握手失败,会发生什么?4. 第二次握手失败,会发生什么?5. 第三次握手失败,会发生什么?...
2022-12-03 22:32:35
1324
12
原创 传输层协议 —— UDP
目录:一、端口号的划分范围二、认识知名端口号三、两个问题四、nestat和pidof命令五、UDP协议1. UDP首部格式2. UDP的特点3. 面向数据报4. UDP的缓冲区5.UDP使用注意事项6.基于UDP的应用层协议
2022-11-30 14:08:11
659
原创 数据结构(高阶)—— 红黑树
红黑树,是一种二叉搜索树,但在每个结点上增加了一个存储位表示结点的颜色,可以使Red或Black。通过对任何一条从根到叶子的路劲上各个结点着色的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而近似平衡的。对于每个结点,从该结点到其所有后代叶子结点的简单路径上,均包含相同数目的黑色结点。如果一个结点是红色的,则它的两个孩子结点是黑色的。每条路径上的黑色结点数量相同。每个结点不是红色就是黑色。此处的叶子结点指定是空结点。
2022-11-26 20:24:46
2886
12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人