一、计算思维与算法基础
1.计算思维
- 定义:运用计算机科学的基本概念进行问题求解、系统设计、理解人类行为的方式。
- 核心步骤:
- 抽象(首要步骤)
- 分解
- 模式识别
- 算法设计
2.算法
- 是问题求解的核心。
- 表示方法:
- 自然语言
- 伪代码
- 流程图
- 不仅存在于数学和计算机科学,也广泛用于其他领域(如工程、生物、经济等)。
二、数据结构
1.线性结构 vs 非线性结构
- 线性结构:一对一关系(如数组、链表、栈、队列)
- 非线性结构:一对多或多对多(如树、图)
2.栈与队列
- 都是受限的线性结构:
- 栈:LIFO(后进先出),空栈条件通常为
top == 0 - 队列:FIFO(先进先出)
- 栈:LIFO(后进先出),空栈条件通常为
3.二叉树
- n 个节点的不同形态二叉树数量 = 第 n 个卡特兰数
$ C_n = \frac{1}{n+1} \binom{2n}{n} $- 例:3 个节点 → $ C_3 = 5 $ 种
- 遍历方式:
- 前序:根 → 左 → 右
- 中序:左 → 根 → 右
- 后序:左 → 右 → 根
- 可通过中序 + 后序(或前序)唯一确定一棵二叉树。
4.图
- 邻接矩阵表示有向图时:
- 入度 = 第 i 列中非零/非无穷元素个数
- 出度 = 第 i 行中非零/非无穷元素个数
- 图挖掘在社会网络分析中至关重要(如社区发现、影响力分析)。
三、程序与软件工程
1.程序 vs 算法
- 程序= 算法 + 数据结构 + 用程序语言实现
- C语言是典型的面向过程语言
2.软件组成
- 软件 =程序 + 数据 + 文档
- 缺少文档的软件不完整
3.软件分类
- 系统软件:操作系统、编译器、驱动等
- 应用软件:
- 通用(如Office)
- 专用(如医院挂号系统)
4.软件危机原因
- 软件质量难以保证
- 开发难以满足用户需求
- (不是因为缺钱或缺人)
5.软件测试用例要素
- 必须包含:
- 设计的输入
- 预计的输出
- 不包括:测试工具、实际输出(执行后才产生)
6.软件维护副作用
- 指因修改软件而引入的新错误
四、数据库与数据处理
1.数据处理流程
- 包括:收集 → 存储 → 加工 → 检索 → 输出信息
2.数据库运行控制程序
- 包括:系统初启、日志管理、文件读写维护等
3.实体联系(E-R)
- 仓库(1)→ 商品(多):一对多联系
4.数据挖掘
- 与人工智能、统计学密切相关
- 类型:
- 探索性数据分析(EDA):交互式、可视化
- 聚类:无标签数据分组(无监督学习)
- 分类:需标签(监督学习)
- Web数据挖掘 ≠ 传统属性预测,而是从网页内容、结构、使用行为中挖掘信息
五、计算机组成与体系结构
1.冯·诺依曼体系
- 五大部件:
- 运算器、控制器、存储器、输入设备、输出设备
- 特点:
- 程序与数据共存于内存
- 硬件与软件分离(通过程序改变功能)
- 采用二进制
- 冯·诺依曼被称为“现代计算机之父”(非巴贝奇)
2.硬件定义
- 指计算机中有形的物理设备(CPU、内存、硬盘等)
3.二进制优势
- 运算简单
- 电路实现可靠(高低电平)
- 逻辑性强(适合布尔代数)
4.存储单位换算
- 1 KB = 1024 Bytes
- 1 MB = 1024 KB
- 1 GB = 1024 MB
注意:不是 1012 或 1000(那是十进制近似)
六、计算机网络
1.网络发展阶段
- 面向终端的计算机网络
- 计算机–计算机网络
- 开放式标准化网络(如互联网,基于TCP/IP)
2.网络分类(按覆盖范围)
- 局域网(LAN)
- 城域网(MAN)
- 广域网(WAN)
校园网是应用场景,不是基本分类
3.传输介质
- 最常用:双绞线(成本低、易部署)
- 光纤:高速但贵,用于骨干
- 同轴电缆:已淘汰
- 卫星:用于广域通信,不用于局域网
4.核心技术
- 通信技术 + 计算机技术
5.顶级域名
.com→ 商业/公司.edu→ 教育.gov→ 政府.net→ 网络服务商
七、人工智能与大数据
1.人工智能目标
- 模拟、延伸和扩展人的智能(非完全替代)
2.大数据隐私担忧
- 主要表现为:个人信息被识别与暴露
八、常用工具与常识
1.搜索引擎
- 谷歌、百度、搜狗 ✅
- 微信 ❌(不是搜索引擎)
2.阿里巴巴 vs 淘宝
- 淘宝是阿里巴巴集团旗下的电商平台,二者不等同
九、编程与语言翻译
1.编译 vs 解释
- 编译:整个程序 → 目标代码 → 执行
- 解释:逐行翻译并执行,不生成独立目标程序
✅提示:模拟考考察小结