编程思维导图
《编程思维导图》
一、编程基础
1.1 数据类型
- 1.1.1 基础数据类型
- 整数 (Integer):
int
(例如: 10, -5, 0)
- 浮点数 (Float):
float
(例如: 3.14, -2.5, 0.0)
- 布尔值 (Boolean):
bool
(True, False)
- 字符串 (String):
str
(例如: "Hello", "World", "123")
- 1.1.2 复合数据类型
- 列表 (List):
list
(例如: [1, 2, 3], ["a", "b", "c"]) - 可变,有序
- 元组 (Tuple):
tuple
(例如: (1, 2, 3), ("a", "b", "c")) - 不可变,有序
- 字典 (Dictionary):
dict
(例如: {"name": "Alice", "age": 30}) - 键值对,无序
- 集合 (Set):
set
(例如: {1, 2, 3}, {"a", "b", "c"}) - 无序,唯一元素
1.2 变量与赋值
- 1.2.1 变量命名规则
- 1.2.2 赋值运算符
=
(简单赋值)
+=
, -=
, *=
, /=
, %=
(复合赋值)
- 1.2.3 变量作用域
1.3 运算符
- 1.3.1 算术运算符
+
(加)
-
(减)
*
(乘)
/
(除)
//
(整除)
%
(取余)
**
(幂)
- 1.3.2 关系运算符
==
(等于)
!=
(不等于)
>
(大于)
<
(小于)
>=
(大于等于)
<=
(小于等于)
- 1.3.3 逻辑运算符
- 1.3.4 位运算符
&
(按位与)
|
(按位或)
^
(按位异或)
~
(按位取反)
<<
(左移)
>>
(右移)
1.4 控制流程
- 1.4.1 条件语句
- 1.4.2 循环语句
for
循环 (迭代循环)
while
循环 (条件循环)
break
(跳出循环)
continue
(跳过当前迭代)
- 1.4.3 异常处理
二、编程范式
2.1 面向过程编程
- 2.1.1 概念
- 2.1.2 优点
- 2.1.3 缺点
2.2 面向对象编程 (OOP)
- 2.2.1 概念
- 程序由对象组成
- 对象包含数据 (属性) 和操作 (方法)
- 2.2.2 核心概念
- 类 (Class): 对象的蓝图或模板
- 对象 (Object): 类的实例
- 封装 (Encapsulation): 将数据和方法捆绑在一起
- 继承 (Inheritance): 子类继承父类的属性和方法
- 多态 (Polymorphism): 不同对象对同一方法做出不同的响应
- 2.2.3 优点
- 2.2.4 设计原则
- 单一职责原则 (SRP)
- 开放封闭原则 (OCP)
- 里氏替换原则 (LSP)
- 接口隔离原则 (ISP)
- 依赖倒置原则 (DIP)
2.3 函数式编程
- 2.3.1 概念
- 2.3.2 特性
- 纯函数 (Pure Function): 相同的输入始终产生相同的输出,没有副作用。
- 不可变性 (Immutability): 数据一旦创建就不能修改。
- 高阶函数 (Higher-Order Function): 可以接受函数作为参数或返回函数。
- 递归 (Recursion): 函数调用自身。
- 2.3.3 优点
三、常用算法与数据结构
3.1 常用数据结构
- 3.1.1 线性表
- 数组 (Array): 连续内存空间,支持随机访问。
- 链表 (Linked List): 非连续内存空间,通过指针连接。
- 栈 (Stack): 后进先出 (LIFO)
- 队列 (Queue): 先进先出 (FIFO)
- 3.1.2 树
- 二叉树 (Binary Tree)
- 二叉搜索树 (BST)
- 平衡二叉树 (AVL, 红黑树)
- 堆 (Heap)
- Trie树 (前缀树)
- 3.1.3 图
3.2 常用算法
- 3.2.1 排序算法
- 冒泡排序 (Bubble Sort)
- 选择排序 (Selection Sort)
- 插入排序 (Insertion Sort)
- 快速排序 (Quick Sort)
- 归并排序 (Merge Sort)
- 堆排序 (Heap Sort)
- 3.2.2 搜索算法
- 线性搜索 (Linear Search)
- 二分搜索 (Binary Search)
- 深度优先搜索 (DFS)
- 广度优先搜索 (BFS)
- 3.2.3 图算法
- 最短路径算法 (Dijkstra, Floyd-Warshall)
- 最小生成树算法 (Prim, Kruskal)
四、常用工具与技术
4.1 版本控制
- Git
- 常用命令:
git init
, git add
, git commit
, git push
, git pull
, git branch
, git merge
- 代码托管平台: GitHub, GitLab, Bitbucket
4.2 调试工具
4.3 常用库和框架 (以Python为例)
- 数据科学: NumPy, Pandas, Matplotlib, Scikit-learn
- Web开发: Django, Flask
- 机器学习: TensorFlow, PyTorch
五、编程思维
5.1 问题分解
- 将复杂问题分解为更小的、可管理的部分。
- 分而治之 (Divide and Conquer)
5.2 抽象
- 忽略不重要的细节,关注核心功能。
- 创建模块化的代码,提高可重用性。
5.3 模式识别
- 识别常见问题模式,并应用已知的解决方案。
- 设计模式 (例如: 单例模式, 工厂模式)
5.4 算法思维
- 设计有效的算法来解决问题。
- 考虑时间复杂度和空间复杂度。
5.5 调试与测试
- 编写可测试的代码。
- 使用调试工具查找和修复错误。
- 进行单元测试和集成测试。