《计算机思维导图》
一、 计算机基础
1.1 计算机组成
-
1.1.1 硬件系统
- CPU (中央处理器)
- 运算器:执行算术和逻辑运算。
- 控制器:控制指令的执行顺序和数据流。
- 高速缓存 (Cache):提高CPU访问速度。
- 存储器
- 内存 (RAM):临时存储数据和程序。
- 只读存储器 (ROM):存储启动程序和BIOS。
- 硬盘 (HDD/SSD):永久存储数据。
- 输入设备
- 键盘、鼠标、扫描仪、摄像头等。
- 输出设备
- 显示器、打印机、音响等。
- 总线
- 连接各个组件,传输数据和控制信号。
- CPU (中央处理器)
-
1.1.2 软件系统
- 系统软件
- 操作系统 (OS):管理硬件资源,提供用户界面。
- Windows、Linux、macOS、Android、iOS等。
- 驱动程序:控制硬件设备。
- 编程语言及其编译器/解释器 (如C++, Java, Python)。
- 操作系统 (OS):管理硬件资源,提供用户界面。
- 应用软件
- 办公软件、游戏、浏览器、图像处理软件等。
- 系统软件
1.2 数据表示与存储
-
1.2.1 数据类型
- 基本数据类型
- 整型 (int, short, long, byte)
- 浮点型 (float, double)
- 字符型 (char)
- 布尔型 (boolean)
- 复合数据类型
- 数组
- 结构体 (struct)
- 类 (class)
- 指针 (pointer)
- 基本数据类型
-
1.2.2 数据编码
- 二进制
- ASCII码
- Unicode (UTF-8, UTF-16, UTF-32)
-
1.2.3 存储方式
- 位 (bit)
- 字节 (byte)
- 千字节 (KB)
- 兆字节 (MB)
- 吉字节 (GB)
- 太字节 (TB)
1.3 操作系统原理
-
1.3.1 进程管理
- 进程的概念
- 进程状态 (新建、就绪、运行、阻塞、终止)
- 进程调度算法 (FCFS, SJF, 优先级调度, 轮转调度)
- 进程间通信 (IPC)
- 共享内存、消息队列、管道等。
- 死锁
-
1.3.2 内存管理
- 内存分配
- 连续分配 (固定分区、可变分区)
- 非连续分配 (分页、分段、段页式)
- 虚拟内存
- 页面置换算法 (FIFO, LRU, OPT)
- 内存分配
-
1.3.3 文件系统
- 文件组织方式 (目录结构)
- 文件操作 (创建、删除、读写)
- 磁盘管理
二、 编程基础
2.1 编程范式
-
2.1.1 面向过程编程
- 以过程为中心,强调算法。
- C语言。
-
2.1.2 面向对象编程
- 以对象为中心,强调封装、继承、多态。
- Java, C++, Python。
-
2.1.3 函数式编程
- 以函数为中心,强调纯函数、不可变性。
- Haskell, Lisp, Scala。
2.2 常用数据结构
-
2.2.1 线性结构
- 数组
- 链表 (单向链表、双向链表、循环链表)
- 栈 (LIFO)
- 队列 (FIFO)
-
2.2.2 非线性结构
- 树
- 二叉树、二叉搜索树、平衡二叉树、B树、B+树。
- 图
- 邻接矩阵、邻接表。
- 树
2.3 常用算法
-
2.3.1 排序算法
- 冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序。
-
2.3.2 查找算法
- 顺序查找、二分查找、哈希查找。
-
2.3.3 图算法
- 深度优先搜索 (DFS)、广度优先搜索 (BFS)。
- 最短路径算法 (Dijkstra, Floyd-Warshall)。
- 最小生成树算法 (Prim, Kruskal)。
-
2.3.4 动态规划
三、 计算机网络
3.1 网络协议
-
3.1.1 OSI 模型
- 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
-
3.1.2 TCP/IP 协议族
- 应用层 (HTTP, FTP, SMTP, DNS)
- 传输层 (TCP, UDP)
- 网络层 (IP)
- 数据链路层 (以太网, PPP)
3.2 网络拓扑结构
- 总线型、星型、环型、树型、网状型。
3.3 网络安全
- 防火墙
- 入侵检测系统 (IDS)
- 虚拟专用网络 (VPN)
- 加密技术 (对称加密、非对称加密、哈希算法)
四、 数据库
4.1 关系型数据库
-
4.1.1 SQL
- 查询 (SELECT)
- 插入 (INSERT)
- 更新 (UPDATE)
- 删除 (DELETE)
-
4.1.2 关系模型
- 实体、属性、关系
- 主键、外键
-
4.1.3 ACID 特性
- 原子性 (Atomicity)
- 一致性 (Consistency)
- 隔离性 (Isolation)
- 持久性 (Durability)
-
4.1.4 数据库设计
- 范式 (1NF, 2NF, 3NF, BCNF)
4.2 NoSQL 数据库
- 键值数据库 (Redis, Memcached)
- 文档数据库 (MongoDB)
- 列式数据库 (HBase)
- 图形数据库 (Neo4j)
五、 软件工程
5.1 软件开发模型
- 瀑布模型
- 迭代模型
- 敏捷开发 (Scrum, Kanban)
5.2 软件测试
- 单元测试
- 集成测试
- 系统测试
- 验收测试
5.3 版本控制
- Git (GitHub, GitLab, Bitbucket)
六、 人工智能基础
6.1 机器学习
- 监督学习 (回归、分类)
- 无监督学习 (聚类、降维)
- 强化学习
6.2 深度学习
- 神经网络 (CNN, RNN, Transformer)
6.3 自然语言处理 (NLP)
- 文本分类、文本生成、机器翻译。
这份思维导图涵盖了计算机科学的一些核心领域,并尝试以清晰的层次结构呈现。