一、问题与问题求解
1.人类问题求解的思维过程:
一般思维过程:问题分析—>推出假设—>检验假设
2.领域问题及形式化描述:
2.1问题形式化表示
要素:现实、目标
问题={现实,目标}
题解=目标—现实={A1,A2,…,An}
2.2问题归约表示
(对问题归纳和简化,转化成为简单问题)
要素:目标、算子集、基元问题集
![3e37595989452dee48412fb83e83ef2a.png](https://img-blog.csdnimg.cn/img_convert/3e37595989452dee48412fb83e83ef2a.png)
2.3问题求解策略
2.3.1算法式:枚举、递归
2.3.2启发式:(1)手段目的分析(2)顺向工作(3)逆向工作
2.4问题求解系统
![1dd1f8000f079fedb479fc79458230a4.png](https://img-blog.csdnimg.cn/img_convert/1dd1f8000f079fedb479fc79458230a4.png)
3.问题抽象与数学建模:
3.1数学模型:实际问题的数学抽象,使用数学符号、数学式子、程序、框图对问题本质属性抽象刻化。
数学模型(数学学科)_百度百科baike.baidu.com![87b5b602f9f7bfe95f135281c10c9bdf.png](https://img-blog.csdnimg.cn/img_convert/87b5b602f9f7bfe95f135281c10c9bdf.png)
3.2数学建模:应用知识提炼、抽象实际问题中的数学模型的过程。
数学建模(数学分支)_百度百科baike.baidu.com![087d970f2e28be26a5be4acc68a50caa.png](https://img-blog.csdnimg.cn/img_convert/087d970f2e28be26a5be4acc68a50caa.png)
3.3模型分类
3.3.1按特性:
静态模型(代数方程)
动态模型(微分方程,差分方程)
按时间:连续时间模型(微分方程)
、离散时间模型(差分方程)
3.3.2按数学:
集中参数模型、分布参数模型
随机性模型、确定性模型
线性模型、非线性模型
几何模型、图论模型、概率论模型、线性规划模型、非线性规划模型
3.3.3按应用领域:
工程学数学模型
经济学数学模型
管理学数学模型
社会学数学模型
生物学数学模型
医学数学模型等
特殊问题模型:交通运输问题模型、经济决策模型
![0ffc567e0214bd5d283190fb462a2eb7.png](https://img-blog.csdnimg.cn/img_convert/0ffc567e0214bd5d283190fb462a2eb7.png)
4.计算机求解问题模型:
![64575fd6a76501e878c59c2f68c01d31.png](https://img-blog.csdnimg.cn/img_convert/64575fd6a76501e878c59c2f68c01d31.png)
确定问题—>定义问题—>形成策略—>组织信息—>分配资源—>监控—>评估
二、算法与算法分析
1.算法及其描述
算法最早在数学中是指数字的运算法则,后指问题求解方法和求解过程的描述.(计算序列,解决特定问题)
1.1算法的特征:
确定性、有穷性、可性性、输入、输出
1.2算法的描述
(1)自然语言描述
(2)流程图描述:N-S流程图
(3)伪代码描述
1.3算法正确性
2.算法复杂性分析
2.1时间复杂性
2.2空间复杂性
2.3P问题与NP问题
三、算法设计及算法分类
穷举法
递推法
递归法
回溯法
迭代法
分治法
贪心法
四、数据结构与算法(DSA)
1.数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;
2.算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法;