💻

CSP-J/S 编程学习

首页 C++语法 数据结构 算法 数学 初赛知识点 工具/大纲

💡 初赛知识点目录

  • 计算机基础知识
  • 计算机结构
  • 计算机网络
  • 计算机语言
  • 进制转换
  • 位运算
  • 树与二叉树

计算机基础知识

计算机发展历程

  • 第一代:电子管计算机(1946-1958)
  • 第二代:晶体管计算机(1958-1964)
  • 第三代:集成电路计算机(1964-1971)
  • 第四代:大规模集成电路计算机(1971-至今)

计算机特点

  • 运算速度快
  • 计算精度高
  • 存储容量大
  • 自动化程度高
  • 逻辑判断能力强

冯·诺依曼体系结构

  • 运算器
  • 控制器
  • 存储器
  • 输入设备
  • 输出设备

计算机结构

CPU

中央处理器,是计算机的核心,负责执行程序指令。

内存

用于临时存储数据和程序,断电后数据丢失。

硬盘

用于长期存储数据,断电后数据不丢失。

存储单位

1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB

计算机网络

网络分类

  • 局域网(LAN):覆盖范围较小
  • 城域网(MAN):覆盖城市范围
  • 广域网(WAN):覆盖大范围区域

IP地址

互联网协议地址,用于标识网络中的设备。

OSI七层模型

  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 会话层
  6. 表示层
  7. 应用层

HTTP协议

超文本传输协议,用于在Web浏览器和服务器之间传输数据。

计算机语言

机器语言

由二进制代码组成,是计算机唯一能直接执行的语言。

汇编语言

用助记符代替二进制指令,需要汇编器转换为机器语言。

高级语言

接近人类自然语言,需要编译器或解释器转换。

编译型语言 vs 解释型语言

  • 编译型:C++, Java, Go(一次性编译成机器码)
  • 解释型:Python, JavaScript(逐行解释执行)

进制转换

十进制转其他进制

除基取余法:不断除以基数,取余数,逆序排列。

其他进制转十进制

按权展开法:每位数字乘以基数的幂次,求和。

二进制与八进制互转

每3位二进制对应1位八进制。

二进制与十六进制互转

每4位二进制对应1位十六进制。

二进制:10101010
八进制:252
十六进制:AA
十进制:170

位运算

常见位运算符

运算符名称说明
&按位与全1为1
|按位或有1为1
^按位异或不同为1
~按位取反0变1, 1变0
<<左移乘以2
>>右移除以2

位运算应用

  • 快速乘除2
  • 交换两个数
  • 判断奇偶性
  • 统计二进制中1的个数

树与二叉树

树的基本概念

  • 节点:树中的元素
  • 根节点:没有父节点的节点
  • 叶子节点:没有子节点的节点
  • 深度:从根到该节点的路径长度
  • 高度:从该节点到叶子节点的最长路径

二叉树性质

  • 第k层最多有2^(k-1)个节点
  • 深度为k的二叉树最多有2^k - 1个节点
  • 对于任意二叉树,若叶子节点数为n0,度为2的节点数为n2,则n0 = n2 + 1

完全二叉树

除最后一层外,每一层都满,最后一层从左到右依次排列。

满二叉树

每一层都满的二叉树。

二叉树遍历

  • 前序遍历:根 -> 左 -> 右
  • 中序遍历:左 -> 根 -> 右
  • 后序遍历:左 -> 右 -> 根

CSP-J/S 编程学习教程 | 版权所有

↑