1.质数

指在大于1的自然数中,除了 1和它本身 以外不再有其他 因数 的自然数。

2.计算机网络

TCP/IP协议模型将协议分为四个层次:网络接口层、网际层、传输层、应用层

传输层协议:UDP、TCP;UDP用户数据报协议,无需接收方确认即可发送,是不可靠的传输协议

TCP传输控制协议,面向连接的可靠的传输协议,每次连接需要经过三次握手四次挥手

osi各层协议

物理层:集线器(信号放大)、中继器(信号转发)、调制解调器(数字信号转换为模拟信号D/A转换)

数据链路层:网桥、交换机

网络层:路由器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HdTOADOr-1675764526018)(C:\Users\25531\AppData\Roaming\Typora\typora-user-images\image-20211007172929402.png)]

osi七层模型及各层功能

  1. 物理层:利用物理传输介质向数据链路层传输比特流
  2. 数据链路层:控制网络层与物理层之间通信(差错控制、流量控制等)
  3. 网络层:IP寻址和路由选择
  4. 传输层:向用户提供可靠的端到端连接
  5. 会话层:建立、维护、管理会话连接
  6. 表示层:数据格式化、加密、解密等
  7. 应用层:为应用程序提供网络服务
3.HTTP请求过程

域名绑定:将仓库建在某地名位置

域名解析:建立路标指向仓库

  1. 在浏览器输入URL,按下回车
  2. 浏览器向DNS服务器发出域名解析请求并获得目的ip地址和端口号
  3. 根据目的ip地址和端口号,与服务器建立TCP连接
  4. 浏览器向服务器发送请求数据
  5. 服务器将网页数据发送给浏览器
  6. 浏览器解析收到数据并显示
  7. 通信完成,断开TCP连接

DNS域名解析过程:

  1. 本地域名服务器收到请求后,先检查本地缓存
  2. 本地缓存没有记录,本地域名服务器直接将请求转发给根域名服务器,然后根域名服务器再返回给本地服务器一个所查询域(根的子域)的主域名服务器的地址
  3. 本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址
  4. 重复第三步,直到找到正确记录
★ 4.TCP三次握手四次挥手

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-doc0TfIh-1675764526019)(C:\Users\25531\AppData\Roaming\Typora\typora-user-images\image-20211016214212164.png)]

SYN:同步序列编号

ACK:确认号

SEQ:随机序号

  1. 第一次握手:客户端向服务端发送连接请求,这个包数据我们称为SYN包。SEQ=x
  2. 第二次握手:如果服务端接收到并同意连接,则回复一包SYN+ACK包。ACK=x+1,SEQ=y
  3. 第三次握手:客户端收到确认后检查,回复一个ACK包。ACK=y+1,建立连接

establish [ɪˈstæblɪʃ]

为什么要进行第三次握手?

防止已失效报文突然传到服务器引起错误。假设采用两次握手连接,客户端向服务器发送SYN包请求失败,又会重新发送SYN包,客户端接收到后回复SYN+ACK包,建立连接。此时第一包数据阻塞的节点突然恢复,发送给服务端,服务端会误认为客户端又发起了一次新的连接。服务端认为是两个连接,客户端认为是一次连接,造成状态不一致。如果是三次握手,服务端收不到ACK包自然不会建立连接,总的来说是为了在不可靠的信道上建立可靠的连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E6AN621L-1675764526020)(C:\Users\25531\AppData\Roaming\Typora\typora-user-images\image-20211016223825854.png)]

为什么连接的时候是三次握手,关闭的时候却是四次握手?

FIN:结束标志,表示后面没有数据需要发送,通常意昧着所建立的连接需要关闭了。

答:当服务端接收到客户端发来的SYN连接请求包后,可以直接回复SYN+ACK包,确认客户端可以连接。但是关闭连接时,客户端发送FIN包是确认客户端已经没有数据需要发送的前提下,此时服务端要确认是否有数据还需要发送,所以先回复一个ACK包确认收到,此时服务端还可以继续发送未发送的数据,当服务端也确认需要发送的数据都发送完了,就会向客户端发送一个FIN包,客户端接收到后发送ACK包,进入超时等待状态。客户端接收到ACK包立即关闭

超时等待时间是为了保证对方已接收到ACK包,如果ACK包丢失,服务端可以重新发送FIN包;如果没有超时等待时间,ACK包丢失后,服务端将一直处于最后确认状态。为了在不可靠的信道上进行可靠的连接断开


5.数组和链表

1.数组是一组连续的空间,是顺序存储结构。链表是链式结构,元素通过指针连接,由于元素与元素之间的关系占用内存,所以链表的存储效率不高。

2.数组支持随机访问,所以查询效率高;但是插入删除需要移动元素,所以增删的效率比较低。

链表不支持随机访问,插入删除无需移动元素,只需改变元素指针指向,所以查询效率低但是增删效率高

6.http与https的区别

http 超文本传输协议 明文传输

https http+ssl 安全版的http

ssl: security socket layer 安全套接字协议

红黑树

红黑树(Red Black Tree)是一种自平衡二叉树

平衡二叉树:任意节点的左右子树的高度差都不超过1

查找二叉树:二叉树数中的任意节点,都存在左节点小于根节点、右节点大于根节点的关系

红黑树5大特性:

  1. 根结点是黑色。
  2. 结点是红色或黑色。
  3. 所有叶子都是黑色。(叶子是NIL结点)
  4. 每个红色结点的两个子结点都是黑色。
  5. 从任一节结点到其每个叶子的所有路径都包含相同数目的黑色结点。

默认插入节点为红色节点,插入后再判断是否符合5大规则,不符合会变换颜色

对于任意节点,如果右子树的高度与左子树的高度之差大于1,右子树高,这时右子树进行左旋转(子树的非根最顶点向左下旋转且指针方向变化)以达到平衡,变化后根节点变黑子节点变红再判断规则

如果右子树的高度与左子树的高度之差大于1,左子树高,这时左子树进行右旋转(子树的非根最顶点向右下旋转且指针方向变化)以达到平衡,变化后根节点变黑子节点变红再判断规则

7.时间复杂度

最简单的描述就是计算机运行一个算法时,程序代码被执行的总次数

时间复杂度是数量级,只关心程序代码最内层循环次数

8.空间复杂度

是指算法消耗的内存空间,也是问题规模(需要处理的数据量)n的函数

对于for(int i=0;i<n;i++){

​ a=a+1;

​ }

空间复杂度为O(1)

对于递归,为,开辟了n个空间,O(n)

8.十大排序算法

稳定:两个值相等的数,经过排序后相对位置不变

9.TCP和UDP的使用场景

TCP 场景

  • 远程控制(SSH)
  • File Transfer Protocol(FTP)
  • 邮件(SMTP、IMAP)等
  • 点对点文件传出(微信等)

UDP 场景

  • 网络游戏
  • 音视频传输
  • DNS
  • Ping
  • 直播
10.HTTP

HTTP1.0:短连接,每次请求都会建立一次TCP连接,做不到请求的复用

HTTP1.1:默认开启长连接,在一个TCP连接上可以接收多个HTTP请求和响应,减少了开销、提高了响应速度

HTTP2.0提出了多路复用,多路复用前,文件传输是串行传输,文件B只能等待文件B传输完才能进行传输,多路复用,可以同时传输文件A文件B

11.HTTP和HTTPS的区别

http是明文传输,且客户端和服务端都无法验证对方身份

https是具有是加密版的http,为http+ssl,采用对称加密

11. TCP滑动窗口

滑动窗口是传输层进行流量控制的一种措施,接收方通过告知发送方自己的窗口的大小,从而控制发送方的发送速度,防止发送速度过快而导致自己被淹没

12.TCP粘包

TCP是面向字节流传输,因此有可能将多个小尺寸数据封装在一个报文中发送出去

可以理解为客户端发送两次,而服务端接受一次就把信息读出来了

13.TCP粘包解决
  1. 固定信息长度
  2. 在两个信息之间加入分隔符
13.堆

一颗完全二叉树的数组对象

大根堆:根节点的元素最大

小根堆:根节点的元素最小

14.查找二叉树、平衡二叉树、红黑树
操作 查找二叉树 平衡二叉树 红黑树
查找 O(n) O(logn)
插入 O(n) O(logn)
删除 O(n) O(logn)

数据结构及计算机网络相关推荐

  1. 计算机组成原理、操作系统、数据结构和计算机网络融会贯通

    原文地址: 原文个人主页:计算机组成原理.操作系统.数据结构和计算机网络融会贯通 计算机组成原理 这门学科告诉你什么是计算机. 首先,我们可以把计算机分解成最原始的部件--晶体管.晶体管是一种半导体材 ...

  2. 如何把计算机组成原理、操作系统、数据结构和计算机网络融会贯通,相互联系起来?

    如何把计算机组成原理.操作系统.数据结构和计算机网络融会贯通,相互联系起来? 何为融会贯通? 知识的融会贯通的唯一核心衡量指标是,遇到没有遇见过的问题却能用处理过的经验去解决问题. 工业计算发展史 现 ...

  3. 数据结构,计算机网络,数据库,计算机组成原理,操作系统有哪些好的网课值得推荐?

    大家好,我是小林哥. 作为自学CS过来的老学长,看过中国mooc.b站.网易云课堂很多视频,期间踩了不少坑,这次掏心掏肺前来跟分享下,网上的资源是免费的,但是找到质量好的是需要时间成本的! 数据结构, ...

  4. 武汉科技大学考研856计算机网络百度云,2020年武汉科技大学考研真题856数据结构与计算机网络B卷硕士研究生专业课考试试题.doc...

    PAGE 第 PAGE 3 页 共 NUMPAGES 3 页 考生姓名: 报考专业: 准考证号码: 密封线内不要写题 2020年全国硕士研究生招生考试初试自命题试题 ( B 卷) 科目代码: 856 ...

  5. 数据结构与计算机网络,如何把计算机原理,操作系统,数据结构和计算机网络结合起来...

    序:这是在知乎看到的一个答案的总结输出(原答案:https://www.zhihu.com/question/22017267/answer/26468016) 1.计算机的发展史 在计算机组成原理的 ...

  6. 数据结构 计算机网络,考研数据结构和计算机网络怎么复习?

    给你提供一份跨考网09年保过班学员的复习经验吧!她现在已经是中科院计算机专业的研究生了!你也要努力啊! 从2009年起,计算机专业考研实行计算机学科专业基础综合课全国统考,考试内容涵盖数据结构.计算机 ...

  7. 计算机考研复试面试问答整理(计算机网络、数据结构、操作系统、数据库、热点概念)

    包含数据结构.计算机网络.操作系统.数据库.热点概念 数据结构 1.顺序存储和链式存储优缺点比较 ① 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一):要求内存中可用存储单元的地址必须是连续 ...

  8. 你所能用到的数据结构(六)

    八.数据结构不一定很枯燥      正如我现在实习的公司的一个同事说的那样,数据结构是一本催眠的书,我想对于大多数人应该是这样的,当然对我也是,看着一大堆的算法,结构模型,不想睡觉那应该可以归结为ge ...

  9. 计算机考研408复试(面试)问题——数据结构

    计算机考研408复试(面试)问题: 链接: 计算机组成原理 链接: 操作系统 链接: 数据结构 链接: 计算机网络 1.绪论 1.数据类型 原子类型.如 int.bool 结构类型.如struct{- ...

最新文章

  1. 在struts-config.xml中配置validator-plugin导致404 Servlet action is not available
  2. 让mysql支持emoji表情
  3. JVM学习01总体概述
  4. python2读取excel中文处理,【Python】【源码】利用Python读取Excel文件-续
  5. 第十二章 图形用户界面
  6. axure 动态面板实现图片轮播效果(淘宝)
  7. 每天快走一小时,身体会有什么变化?
  8. 复变函数系列(三 ) - 复变函数的积分
  9. Oracle Statspack分析报告详解(一)
  10. 多小区下小区上行速率的计算(4)
  11. 解决树莓派 no wireless interfaces found问题
  12. mergesort java 源码_MergeSort(Java)
  13. 马拉车算法(不懂问我)
  14. HDU - 5773 贪心 + LIS
  15. 关于浏览器部分JS失效原因
  16. Winform 俄罗斯方块儿练习
  17. buildroot 交叉编译 剥离arm架构的二进制文件
  18. 芯旺微车规级功夫KF32A150,SPI调试经验
  19. mysql update cascade_mysql中On Delete Cascade和On Update Cascade之间的区别
  20. 网络-01-端口号-linux端口详解大全

热门文章

  1. 对于遗传算法的基础梳理
  2. 别让一个标题毁了你的优质软文文章
  3. OpenCV之图片预处理方法
  4. 应对隐私检测的各种姿势
  5. 怎样打开苹果的无线网络连接服务器,iphone的无线局域网在哪里? 苹果手机无线局域网的打开方法...
  6. android平台mmi开发,落实产品本土化,奥迪选择从全新MMI系统开始下手!
  7. office2003-2007 绿色版 出错 文件丢失(未解决)
  8. DWG与KML 相互转换
  9. QT 如何设置对话框的背景图片
  10. Debian Jessie 开启软键盘