logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据结构阶段测试2--(试题解析)

A. O(m)B. O(1)C. O(n)D. O(m+n)💡 答案:A单链表由于需要找到最后⼀个⾮空节点,所以需要遍历⻓度为m的单链表;连接的过程只需要修改找到的最后⼀个⾮空节点的next指针,指向⻓度为n的单链表即可,复杂度为O(1);所以总体的时间复杂度就是O(m)。A. 满⼆叉树是完全⼆叉树B. 满⼆叉树中有可能存在度数为1的节点C. 完全⼆叉树是满⼆叉树D. 完全⼆叉树中某个节点可以没

文章图片
#数据结构#c语言#算法 +2
浏览器发送网页详细过程分解

graph TDA[用户输入URL并回车] --> B[DNS解析]B --> C[获取服务器IP地址]C --> D[TCP三次握手]D --> E[发送HTTP请求]E --> F[服务器处理并返回响应]F --> G[浏览器解析渲染]subgraph G [浏览器解析渲染]G1[解析HTML构建DOM树]G2[解析CSS构建CSSOM树]G3[合并生成渲染树]G4[布局 Layout]G5[

#服务器#网络#开发语言 +1
CMake 命令⾏⼯具介绍

Step 0:⽬录结构Step 1:新建⽂件-main.cppStep 2:新建⽂件-test.cppStep 3:修改⽂件-CMakeLists.txt。

#数据库#服务器#linux +2
epoll 工作方式

如果服务端写的代码是阻塞式的 read, 并且一次只 read 1k 数据的话(read 不能保证一次就把所有的数据都读出来, 参考 man 手册的说明, 可能被信号打断), 剩下的 9k 数据就会待在缓冲区中.• 如上面的例子, 虽然只读了 1K 的数据, 缓冲区还剩 1K 的数据, 在第二次调用epoll_wait 的时候, epoll_wait 不会再返回了.epoll 的高性能, 是有一定

#网络#服务器#数据库 +4
多路转接 epoll

• 事件回调机制: 避免使用遍历, 而是使用回调函数的方式, 将就绪的文件描述符结构加入到就绪队列中, epoll_wait 返回直接访问就绪队列就知道哪些文件描述符就绪. 这个操作时间复杂度 O(1). 即使文件描述符数目很多, 效率也不会受到影响.• 这些事件都会挂载在红黑树中,如此,重复添加的事件就可以通过红黑树而高效的识别出来(红黑树的插入时间效率是 logn,其中 n 为树的高度).•

#java#数据库#开发语言 +3
传输层协议TCP(3)

• 由于我们的请求量很大, 就可能导致 TIME_WAIT 的连接数很多, 每个连接都会占用一个通信五元组(源 ip, 源端口, 目的 ip, 目的端口, 协议). 其中服务器的 ip 和端口和协议是固定的. 如果新来的客户端连接的 ip 和端口号和 TIME_WAIT 占用的链接重复了, 就会出现问题.• 就能保证在两个传输方向上的尚未被接收或迟到的报文段都已经消失(否则服务器立刻重启, 可能会

#tcp/ip#网络#服务器 +4
传输层协议TCP(2)

• [ESTABLISHED -> CLOSE_WAIT] 当客户端主动关闭连接(调用 close), 服务器会收到结束报文段, 服务器返回确认报文段并进入 CLOSE_WAIT;• [FIN_WAIT_1 -> FIN_WAIT_2] 客户端收到服务器对结束报文段的确认, 则进入 FIN_WAIT_2, 开始等待服务器的结束报文段;• [FIN_WAIT_2 -> TIME_WAIT] 客户端收

#tcp/ip#网络#网络协议
到底了