贪婪算法(Greedy algorithm)-算法学习之旅(一)
2015-05-15 00:12
211 查看
我研一下学期选修了网络管理,因为是限选课所以我没有认真上课,今天因为快结课考试了,我才去,然后我发现了一个大秘密。。。。。。
原来老师从第三节课已经开始讲算法导论的知识了,我是不是错过了什么。。。
表示为:
G=(V,E);
V是顶点集,E是边集。
有向图(i,j)属于E,i—->j;
无向图(i,j)属于E,i—–j;
|E| = O(|V|*|V|);
用n*n的矩阵表示A表示G,其中A【i,j】= 1,if(i,j)属于E
0,if(i,j)不属于E
上面是举例
例如:
adj【i】={2,3}表示由i出发的有向点~
2.重叠子问题
原来老师从第三节课已经开始讲算法导论的知识了,我是不是错过了什么。。。
废话不多说,介绍贪婪算法
首先普及一下图论的基本先验知识
图(Graphs)包括有向图和无向图。表示为:
G=(V,E);
V是顶点集,E是边集。
有向图(i,j)属于E,i—->j;
无向图(i,j)属于E,i—–j;
|E| = O(|V|*|V|);
图的表示方法
1.邻接矩阵
对于G=(V,E);V = {12…N};用n*n的矩阵表示A表示G,其中A【i,j】= 1,if(i,j)属于E
0,if(i,j)不属于E
上面是举例
邻接表
G=(V,E)的邻接表由数组Adj组成,adj【v】,v属于V,包含了图中所有和v相邻的点。例如:
adj【i】={2,3}表示由i出发的有向点~
最小生成树问题
使用动态规划算法解决动态规划算法需要满足的条件 ##
1.最优子结构2.重叠子问题
PRIME算法介绍
由于数学符号,我就不手写了简单描述
1.先选取5,然后把周围的直接联通点都标上权值,选取权值最小的6,然后以6为中心,标识直接联通点,如果比之前的权值小,就更新,6选择了2.再以2为中心,2选择了1.然后看标识的权值,按照从小到大的顺序。相关文章推荐
- 算法学习-(三)贪婪算法
- 【算法学习】贪婪算法找零钱
- 算法学习笔记--贪婪算法
- 贪婪算法(Greedy algorithm)-算法学习之旅(一)
- 贪婪算法(Greedy algorithm)-算法学习之旅(一)
- 数据结构与算法学习1——算法复杂度分析
- 机器学习-贝叶斯算法
- Angluins L*算法 学习笔记
- 遗传算法与直接搜索工具箱学习笔记 四-----从直接搜索算法开始
- 【算法学习笔记】73.数学规律题 SJTU OJ 1058 小M的机器人
- 算法第4版(谢路云译)学习笔记(1) -- 课后习题答案
- 二次规划算法学习笔记
- KMP 算法学习
- STL算法学习
- 【算法系列学习】巧妙建图,暴搜去重 Counting Cliques
- 【算法系列学习】状压dp [kuangbin带你飞]专题十二 基础DP1 D - Doing Homework
- 算法导论学习笔记-找数组中第二小的数
- LeetCode算法学习日志-638 Shopping Offers
- 斯坦福 机器学习-第二章 生成学习算法
- 算法——贪婪算法