编程思维导图

《编程思维导图》

一、编程基础

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 逻辑运算符
    • and (与)
    • or (或)
    • not (非)
  • 1.3.4 位运算符
    • & (按位与)
    • | (按位或)
    • ^ (按位异或)
    • ~ (按位取反)
    • << (左移)
    • >> (右移)

1.4 控制流程

  • 1.4.1 条件语句
    • if
    • elif (else if)
    • else
  • 1.4.2 循环语句
    • for 循环 (迭代循环)
    • while 循环 (条件循环)
    • break (跳出循环)
    • continue (跳过当前迭代)
  • 1.4.3 异常处理
    • try
    • except
    • finally

二、编程范式

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 调试工具

  • IDE调试器
  • 日志记录
  • 单元测试框架

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 调试与测试

  • 编写可测试的代码。
  • 使用调试工具查找和修复错误。
  • 进行单元测试和集成测试。
上一个主题: 西游记思维导图 下一个主题: 细胞的思维导图

相关思维导图推荐

分享思维导图