算法与数据结构
一、概述📌
Tip
抽象数据类型ADT:
逻辑结构和物理实现分离,不讨论具体实现
二、算法基础📌
1、特征📌
特征 | |
---|---|
有穷性 | |
确定性 | |
输入0或多个 | |
输出1或多个 | |
可行性 | 正确的,可读性,健壮性 |
2、算法表达📌
- 自然语言
- 流程图⭐
- 伪代码⭐
- PAD图
3、设计方法📌
方法 | 思想 |
---|---|
递推法 | 根据已知条件逐步推导出结果 |
递归法 | 将问题分解为相同类型的子问题,直到基本情况 |
穷举法 | 列出所有可能解并逐一检查 |
贪婪法 | 每步选择当前最优解,逐步逼近全局最优 |
分治法 | 将大问题分解为小问题,合并结果。 |
动态规划 | 通过记录子问题解,避免重复计算。 |
迭代法 | 通过重复计算逐步逼近目标。 |
注:排序📌
-
选择排序
-
选择整列最小排到前面
-
-
冒泡排序
-
冒牌在前 从后往前
-
冒泡在后 从前往后
-
-
插入排序
-
逐一加入新元素排序
-
三、数据结构基础📌
1、栈📌
2、队列📌
3、树📌
-
最小生成树🌳
Tip
- 排序边(从小到大开始连接)
- 连接未连通的块,已连通的跳过