代码思维导图

《代码思维导图》

一、编程基础

1.1 数据类型

1.1.1 基本数据类型

  • 整型 (Integer):
    • 有符号整型 (Signed Integers): int, short, long, long long (C/C++)
    • 无符号整型 (Unsigned Integers): unsigned int, unsigned short, unsigned long, unsigned long long (C/C++)
  • 浮点型 (Floating-point):
    • 单精度浮点型 (Single-precision): float
    • 双精度浮点型 (Double-precision): double
    • 扩展精度浮点型 (Extended-precision): long double (C/C++)
  • 字符型 (Character): char
    • ASCII
    • Unicode (UTF-8, UTF-16, UTF-32)
  • 布尔型 (Boolean): bool
    • true
    • false

1.1.2 复合数据类型

  • 数组 (Array):
    • 固定大小
    • 相同类型元素的集合
    • 多维数组
  • 字符串 (String):
    • 字符数组
    • 动态字符串 (例: std::string in C++, String in Java)
  • 结构体/类 (Struct/Class):
    • 不同类型数据的组合
    • 成员变量
    • 成员函数 (类)
  • 枚举 (Enum):
    • 一组命名的整数常量
  • 联合体 (Union):
    • 多个变量共享同一块内存空间

1.2 运算符

1.2.1 算术运算符

  • + (加)
  • - (减)
  • * (乘)
  • / (除)
  • % (取模/余数)
  • ++ (自增)
  • -- (自减)

1.2.2 关系运算符

  • == (等于)
  • != (不等于)
  • > (大于)
  • < (小于)
  • >= (大于等于)
  • <= (小于等于)

1.2.3 逻辑运算符

  • && (逻辑与)
  • || (逻辑或)
  • ! (逻辑非)

1.2.4 位运算符

  • & (按位与)
  • | (按位或)
  • ^ (按位异或)
  • ~ (按位取反)
  • << (左移)
  • >> (右移)

1.2.5 赋值运算符

  • = (赋值)
  • +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= (复合赋值)

1.2.6 其他运算符

  • sizeof (获取大小)
  • ? : (三元运算符)
  • . (成员访问)
  • -> (指针成员访问)
  • [] (数组下标)
  • () (函数调用)

1.3 控制结构

1.3.1 顺序结构

  • 代码按照书写顺序依次执行

1.3.2 选择结构

  • if 语句
  • if-else 语句
  • if-else if-else 语句
  • switch 语句

1.3.3 循环结构

  • for 循环
  • while 循环
  • do-while 循环
  • break 语句 (跳出循环)
  • continue 语句 (跳过本次循环)

1.4 函数

  • 函数定义
  • 函数调用
  • 函数参数
    • 形参 (Formal parameters)
    • 实参 (Actual parameters)
    • 按值传递 (Pass by value)
    • 按引用传递 (Pass by reference)
    • 按指针传递 (Pass by pointer)
  • 返回值
  • 递归函数
  • 函数重载 (Function Overloading)

1.5 指针 (C/C++)

  • 指针变量
  • 指针运算
  • 指针与数组
  • 指针与函数
  • 动态内存分配 (malloc, calloc, realloc, free in C; new, delete in C++)

二、面向对象编程 (OOP)

2.1 核心概念

  • 封装 (Encapsulation):
    • 将数据和方法捆绑在一起
    • 隐藏内部实现细节
    • 提供公共接口
  • 继承 (Inheritance):
    • 子类继承父类的属性和方法
    • 代码重用
    • 多态的基础
  • 多态 (Polymorphism):
    • 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果
    • 静态多态 (Static polymorphism): 函数重载,模板
    • 动态多态 (Dynamic polymorphism): 虚函数,接口

2.2 类与对象

  • 类的定义
  • 对象的创建
  • 成员变量 (Attributes)
  • 成员函数 (Methods)
  • 构造函数 (Constructor)
  • 析构函数 (Destructor)
  • 访问控制修饰符 (Access Modifiers):
    • public
    • private
    • protected

2.3 继承与多态

  • 单继承
  • 多重继承 (Multiple Inheritance)
  • 虚函数 (Virtual Function)
  • 抽象类 (Abstract Class)
  • 接口 (Interface)

三、数据结构与算法

3.1 数据结构

  • 线性表 (Linear List):
    • 数组 (Array)
    • 链表 (Linked List):
      • 单链表 (Singly Linked List)
      • 双链表 (Doubly Linked List)
      • 循环链表 (Circular Linked List)
    • 栈 (Stack): LIFO (Last In First Out)
    • 队列 (Queue): FIFO (First In First Out)
  • 树 (Tree):
    • 二叉树 (Binary Tree)
    • 二叉搜索树 (Binary Search Tree)
    • 平衡二叉树 (Balanced Binary Tree): AVL树, 红黑树
    • 堆 (Heap): 优先队列
    • B树 (B-Tree)
  • 图 (Graph):
    • 有向图 (Directed Graph)
    • 无向图 (Undirected Graph)
    • 邻接矩阵 (Adjacency Matrix)
    • 邻接表 (Adjacency List)
  • 哈希表 (Hash Table):
    • 哈希函数 (Hash Function)
    • 冲突解决 (Collision Resolution): 链地址法, 开放寻址法

3.2 算法

  • 排序算法 (Sorting Algorithms):
    • 冒泡排序 (Bubble Sort)
    • 选择排序 (Selection Sort)
    • 插入排序 (Insertion Sort)
    • 归并排序 (Merge Sort)
    • 快速排序 (Quick Sort)
    • 堆排序 (Heap Sort)
    • 计数排序 (Counting Sort)
    • 桶排序 (Bucket Sort)
    • 基数排序 (Radix Sort)
  • 搜索算法 (Searching Algorithms):
    • 线性搜索 (Linear Search)
    • 二分搜索 (Binary Search)
    • 深度优先搜索 (Depth-First Search, DFS)
    • 广度优先搜索 (Breadth-First Search, BFS)
  • 图算法 (Graph Algorithms):
    • 最短路径算法 (Shortest Path Algorithms): Dijkstra算法, Floyd-Warshall算法
    • 最小生成树算法 (Minimum Spanning Tree Algorithms): Prim算法, Kruskal算法
    • 拓扑排序 (Topological Sort)
  • 动态规划 (Dynamic Programming)
  • 贪心算法 (Greedy Algorithm)
  • 回溯算法 (Backtracking Algorithm)

四、软件工程

4.1 需求分析

  • 需求获取
  • 需求规格说明书

4.2 设计

  • 概要设计
  • 详细设计
  • UML (Unified Modeling Language)

4.3 编码

  • 代码规范
  • 单元测试

4.4 测试

  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试

4.5 部署

  • 环境配置
  • 上线发布

4.6 维护

  • 缺陷修复
  • 版本更新
  • 性能优化

五、常用工具

5.1 编辑器

  • VS Code
  • Sublime Text
  • Atom
  • Notepad++
  • Vim
  • Emacs

5.2 IDE (Integrated Development Environment)

  • Visual Studio
  • Eclipse
  • IntelliJ IDEA
  • Xcode

5.3 版本控制

  • Git
  • GitHub
  • GitLab
  • Bitbucket

5.4 调试工具

  • GDB
  • Valgrind
  • IDE自带调试器

5.5 构建工具

  • Make
  • CMake
  • Ant
  • Maven
  • Gradle

六、编程范式

6.1 命令式编程 (Imperative Programming)

  • 侧重描述解决问题的步骤

6.2 声明式编程 (Declarative Programming)

  • 侧重描述解决问题的目标,而不是具体步骤
  • 函数式编程 (Functional Programming)
  • 逻辑式编程 (Logic Programming)

6.3 面向对象编程 (Object-Oriented Programming)

  • 使用对象和类来组织代码

6.4 事件驱动编程 (Event-Driven Programming)

  • 程序执行的流程由事件触发

6.5 并发编程 (Concurrent Programming)

  • 多线程
  • 多进程
  • 协程
  • 异步编程
上一个主题: 西游记思维导图 下一个主题: 全图思维导图

相关思维导图推荐

分享思维导图