数据结构当中的图怎么都弄不懂怎么办?
来源:互联网 发布:jmeter数据库查询结果 编辑:程序博客网 时间:2024/05/19 20:21
最近在看数据结构,也遇到了这个问题,觉得知乎上这些解答很棒,特此把好的回答摘抄下来
原文链接:数据结构当中的图怎么都弄不懂怎么办?
参照以下步骤,对着书看,包会。如果你按照这样的步骤学会了,欢迎留言让我知道。如果没学会,欢迎提问我会尽力解答。
学习先决条件:指针基础 数组和链表 图的基本概念(如边,顶点,路径,权值)
1 理解图的两大存储结构
1-1 邻接矩阵
1-2 邻接表
注意:邻接表中,指针数组里的每一个指针都是一个单链表的头指针
注意:单链表里每个节点里存储的是图中每条边的信息。
2 理解图的遍历算法
2-1 深度优先遍历 dfs
注意:花半小时看懂dfs的递归代码。
2-2 宽度优先遍历 bfs
注意:又叫广度优先算法,需要一个队列,用非递归实现,请用半小时看懂实现代码。
3 图的最小代价生成树算法
3-1 普里姆算法
注意:把书上给的图文例子看懂。
3-2 克鲁斯卡尔算法
注意:把书上给的图文例子看懂
注意:克鲁斯卡尔的时间复杂度
4 AOV和AOE网络
4-1 AOV 拓扑排序算法过程
注意:AOV和AOE都可以理解为一个工程图,工程由很多项目组成,项目直接有相互依赖。不同的是,AOV图中的顶点代表项目,对比后文的AOE。
4-2 AOE 最长路径
注意:与AOV相反,AOE用边来代表项目,因此边的权值可以理解为这个项目消耗的时间。
5-1 迪杰斯特拉算法
注意:把书上给的图文例子看懂。
注意:此算法求的是某个给定顶点到其他各顶点的最短路径(单源)。
5-2 弗洛伊德算法
注意:把书上的图文例子看懂。
注意:此算法求的是图中所有顶点 的两两最短路径。
首先我们把图理论和编程分开看,图的概念算法应用等,可以看看离散数学。现实中图的应用很多也很有意思,比如送外卖路线规划啊,微博舆论传播分析之类的。 图算法实现就不同了,首先要理解图算法的步骤,然后设计实现的方法,在数据结构课程中无非也就是分治(也就是递归),贪心,用什么栈和队列。 你看深搜用递归,广搜用队列,最短路径用贪心去贪。总之,图算法是理论上的东西,图算法的实现则与你是否理解基础算法有关,如果是算法理论不理解建议看离散,如果是实现上的代码不理解建议先理解基础算法,把图算法的实现作为案例去练习,相信提高会很快的。至于上面说的背下来,虽然也是一种方法,但是个人感觉不是很好,实现算法这种事情,盗用贵乎的一句话,无它,唯手熟耳!
阅读全文
1 0
- 数据结构当中的图怎么都弄不懂怎么办?
- 不懂QQ密码怎么怎么办?QQ1622863529
- 数据结构当中的问题
- 不懂老公的手机密码怎么办?QQ1622863529
- 在用的远程PC死机,怎么操作都无反应怎么办?
- 不懂别人的微信密码,想登录怎么办?QQ1622863529
- 如何理解数据结构当中的树?
- win10 sqlserver 2008 r2安装失败遇到“未经授权的操作”系列错误怎么授权都不行怎么办?
- 什么都不懂
- 啥都不懂
- 一个什么都不懂的程序员的服务器折腾日志
- 网络营销策划技巧,90%的人都不懂的思维
- 今天郁闷了 懂不懂技术的都看看
- 强大的KMP解释,不懂都难(有图有真相)
- csdn的调查问卷,好多都不懂哈
- 据说99%的程序猿都不懂得这样表白
- 一个啥都不懂但还不知天高地厚的我
- java继承当中都有一些什么样的构造函数规则?
- 设计模式之工厂模式
- [编程题] 独立的小易
- C语言之网络编程(服务器和客户端)
- javascript数据类型转换
- HDU 6127 Hard challenge【极角排序】
- 数据结构当中的图怎么都弄不懂怎么办?
- Power of Matrix UVA
- 【LeetCode】Contains Duplicate II 解题报告
- 2017.08.18【NOIP提高组】模拟赛B组总结
- POJ
- 归并排序
- 这是我刚接触博客的第一个测试博客
- 链表、头指针、头结点
- 【jzoj5306】【NOIP2017提高A组模拟8.18】【棋盘游戏】