关于CSP-J初赛多次模拟测试后出错的知识点总结
这只是一个简单的总结
一本通模拟题
(一)模拟题1
1.网络协议是否与电子邮件有关
我们可以按照网络分层模型(如经典的OSI模型或更实用的TCP/IP模型)来系统性地梳理这些协议:
📚 与电子邮件直接相关的核心应用层协议:
- SMTP: 用于发送电子邮件。
- POP3: 用于从服务器下载电子邮件到本地客户端。
- IMAP: 用于在服务器上管理和同步电子邮件。
- MIME: 不是独立协议,而是一种扩展标准,定义如何在电子邮件中传输多媒体、二进制文件等信息格式。通常在SMTP等协议内部使用。
📚 与电子邮件无关的网络协议(按功能层级划分)
- 底层/链路层协议 (数据链路层/L1/L2)
- 以太网: 定义了在同个局域网内设备如何通过物理介质(电缆、光纤)发送和接收数据帧。是绝大多数有线网络的基础。
- Wi-Fi (IEEE 802.11系列): 定义了无线局域网内数据传输的标准。
- PPP: 点对点协议,常用于拨号上网、路由器之间串行连接等。
- ARP: 地址解析协议,将IP地址解析成物理MAC地址(在局域网中)。
- VLAN: 虚拟局域网协议,用于在物理网络基础上逻辑隔离广播域。
- 网络层协议 (IP层/L3)
- IP: 网际协议,负责在网络中路由和传递数据包(基本的数据单元)。这是互联网的基石。
- IPv4: 目前广泛使用的版本。
- IPv6: 用于解决IPv4地址耗尽问题的下一代协议。
- ICMP: 互联网控制报文协议,用于传输错误、控制信息(如ping工具就用它)。
- IPSec: 一组协议套件,用于在网络层加密和验证IP数据包,提供安全通信。
- 路由协议: 路由器之间交换路由信息来决定数据包转发路径的协议。
- OSPF: 开放式最短路径优先 (内部网关协议)。
- BGP: 边界网关协议 (互联网核心路由协议)。
- RIP: 路由信息协议 (较老,已逐步淘汰)。
- EIGRP: 思科私有路由协议。
- 传输层协议 (L4)
- TCP: 传输控制协议。提供面向连接、可靠、有序、基于字节流的传输服务。确保数据完整无误地送达(网页浏览、文件传输常用)。这是很多应用层协议(包括邮件)依赖的基础,但它本身不处理邮件内容。
- UDP: 用户数据报协议。提供无连接、不可靠、尽力而为的数据报传输服务。更快、开销更小,适合需要实时性而对可靠性要求不高的应用(实时视频、语音、在线游戏、DNS查询)。邮件协议本身很少直接依赖UDP,但网络中的其他基础服务依赖它。
- SCTP: 流控制传输协议。设计具有消息边界、多宿主、多流等特性,常用于电信信令传输。
- 应用层协议 (L7 - 建立在底层协议之上,实现具体功能)
- HTTP/HTTPS: 超文本传输协议(安全)。万维网的核心协议,用于浏览器和网站服务器之间传输网页、图片、视频等各种资源(HTTPS使用SSL/TLS加密)。
- FTP/FTPS/SFTP: 文件传输协议(安全)。用于在客户端和服务器之间传输文件。
- DNS: 域名系统协议。将域名转换成IP地址(反之亦然)。几乎所有需要联网的应用(包括邮件客户端发邮件时解析邮件服务器地址)都会用到它,但DNS的核心功能(域名/IP映射)本身与邮件内容传输无关。
- DHCP: 动态主机配置协议。为网络中的设备自动分配IP地址、子网掩码、网关、DNS服务器等配置信息。
- NTP: 网络时间协议。用于在计算机和网络设备之间同步系统时钟。
- SNMP: 简单网络管理协议。用于收集、组织网络设备(路由器、交换机、服务器等)的状态、性能、故障信息,并进行管理配置。
- SSH: 安全外壳协议。提供安全的命令行远程登录、命令执行和文件传输服务。
- Telnet: 早期的远程登录协议(不安全,基本被SSH取代)。
- TFTP: 简单文件传输协议。轻量级的无连接文件传输协议,常用于网络设备初始化配置。
- LDAP: 轻量级目录访问协议。用于查询和修改目录服务(如用户账号信息、网络资源信息)。
- VoIP 协议: 如SIP(会话发起协议)、RTP(实时传输协议),用于承载互联网语音和视频通话。
- 流媒体协议: 如RTMP(逐步被淘汰)、HLS、MPEG-DASH等,用于视频点播和直播。
2.折半查找
(1)概念:折半查找 ( B i n a r y S e a r c h ) (Binary Search) (BinarySearch)是一种高效的有序数组查找算法,其核心思想是每次比较后都将搜索范围缩小一半,直到找到目标元素或范围为空。它的时间复杂度为 O ( l o g n ) O(log n) O(logn),远优于线性查找 O ( n ) O(n) O(n)。
(2)操作步骤:
初始化 low 和 high 分别指向数组的首尾。
计算中间位置 mid = (low + high) / 2。
比较 arr[mid] 与目标值 target:
如果 arr[mid] == target,返回 mid。
如果 arr[mid] < target,说明目标在右半部分,调整 low = mid + 1。
如果 arr[mid] > target,说明目标在左半部分,调整 high = mid-1。
重复上述过程,直到 low > high(未找到)
(3)时间复杂度分析
最优情况:目标值在中间位置,时间复杂度
O
(
1
)
O(1)
O(1)。
最坏情况:目标值不在数组中,需不断折半,时间复杂度
O
(
l
o
g
n
)
O(log n)
O(logn)。
平均情况:
O
(
l
o
g
n
)
O(log n)
O(logn) 。
3.摩尔定律
摩尔在1965年的论文《Cramming more components onto integrated circuits》中提出:
集成电路上可容纳的晶体管数量大约每18-24个月翻一番,同时成本保持不变。
(二)模拟题2
1.循环队列求元素个数
循环队列(Circular Queue)中,元素个数可以通过以下公式计算:
元素个数 = ( r e a r − f r o n t + 队列空间大小 ) 元素个数=(rear−front+队列空间大小) % 队列空间大小 元素个数=(rear−front+队列空间大小)
朴素结尾
博主知识面有限且刷题数量较少,时间较短,本文更新至此,感谢粉丝们的关注与支持,谢谢!
1368

被折叠的 条评论
为什么被折叠?



