数据结构C++版-图
一、概念及分类
二、图的存储结构
1、邻接矩阵
顶点:
弧:
边:
表达式语句:
2、邻接表
逆邻接表:
3、十字链表
4、邻接多重表
三、图的权值概念及遍历
权值:
图的遍历:
1.深度优先搜索
2.广度优先搜索
3.图的最小生成树
1)普利姆算法
2)克鲁斯卡尔算法:
四、补充知识点
1、课程下某评论:
给我最深的感触是:
1. 先用中文把代码思路写出来,然后一个一个去编写;
2. 先想清楚函数结束的条件;
3. 如果编写过程中,遇到一些难以解决的小功能,就先把它函数化,之后再补全这个函数;
2、如何准备算法及面试
除了日常进行算法练习外,对于找工作的小伙伴们来说,如何在面试过程中更好地在算法环节脱颖而出还是有迹可循的。从九章算法那可以总结如下:
1.面试过程要有适当的沟通
2.听到问题后要讲自己的理解
3.与面试官沟通题目的细节
4.告诉面试官自己的想法或算法
虽说练习算法偏向于算法本身,但是好的代码风格还是很有必要的。粗略可分为以下几点:
代码块可为三大块:异常处理(空串和边界处理),主体,返回
代码风格(可参考Google的编程语言规范)
1.变量名的命名(有意义的变量名)
2.缩进(语句块)
3.空格(运算符两边)
4.代码可读性(即使if语句只有一句也要加花括号)
《代码大全》中给出的参考
而对于实战算法的过程中,我们可以采取如下策略:
1.总结归类相似题目
2.找出适合同一类题目的模板程序
3.对基础题熟练掌握
数据结构C++版-图的更多相关文章
- 数据结构Java版之广度优先图(十三)
广度优先,则是用的队列,将每一层的节点先存入队列中去,后依次取出队列中的节点,显示与当前节点存在边,但是未被访问过的节点,也就是下一层与之相联系的节点,再将这些节点存入队列.经过层层迭代,就可以完全遍 ...
- 数据结构Java版之深度优先-图(十二)
这里用深度优先遍历存在矩阵里面的图. 深度优先利用的是栈的FIFO特性.为此遍历到底后,可以找到最相邻的节点继续遍历.实现深度优先,还需要在节点加上一个访问标识,来确定该节点是否已经被访问过了. 源码 ...
- 数据结构Java版之邻接矩阵实现图(十一)
邻接矩阵实现图,是用一个矩阵,把矩阵下标作为一个顶点,如果顶点与顶点之间有边.那么在矩阵对应的点上把值设为 1 .(默认是0) package mygraph; import java.util.Li ...
- 数据结构Java版之邻接表实现图(十)
邻接表实现图,实际上是在一个数组里面存放链表,链表存放的是连接当前节点的其他节点. package mygraph; import java.util.ArrayList; import java.u ...
- 用js来实现那些数据结构15(图01)
其实在上一篇介绍树结构的时候,已经有了一些算法的相关内容介入.而在图这种数据结构下,会有更多有关图的算法,比如广度优先搜索,深度优先搜索最短路径算法等等.这是我们要介绍的最后一个数据结构.同时也是本系 ...
- 用js来实现那些数据结构16(图02-图的遍历)
上一篇文章我们简单介绍了一下什么是图,以及用JS来实现一个可以添加顶点和边的图.按照惯例,任何数据结构都不可或缺的一个point就是遍历.也就是获取到数据结构中的所有元素.那么图当然也不例外.这篇文章 ...
- 【C#数据结构系列】图
一:图 图状结构简称图,是另一种非线性结构,它比树形结构更复杂.树形结构中的结点是一对多的关系,结点间具有明显的层次和分支关系.每一层的结点可以和下一层的多个结点相关,但只能和上一层的一个结点相关.而 ...
- 数据结构思维导图 Part1
刚刚结束数据结构的学习,在复习阶段,所以做来思维导图总结一下. 思维导图,顾名思义是应该有对思维有引导作用的,就像思维的整理术,然而想要学好什么,光看思维导图总是不够的. 树与图作为两个复杂非线性结构 ...
- 数据结构&图论:图
在这里对图的存储和遍历进行一个规范,为以后更复杂的数据结构学习打下基础 首先是邻接矩阵的形式,适合于存稠密图,如果是全连接图就再合适不过了 int a[maxn][maxn]; 一个二维数组就可以搞定 ...
随机推荐
- ajax验证用户名是否存在,手机号是不是匹配
<label class="col-sm-2 control-label font">用户名</label> <div class="col ...
- apue.h报错问题
下载apue.3e后进入make,提示错误如下: collect2: error: exit status Makefile:: recipe for target 'badexit2' failed ...
- 2019 ACM/ICPC Asia Regional shanxia D Miku and Generals (二分图黑白染色+01背包)
Miku is matchless in the world!” As everyone knows, Nakano Miku is interested in Japanese generals, ...
- (转)MySQL安装及配置指南
转:http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97 安装MySQL sudo apt-get install m ...
- spring--Springmvc中@Autowired注解与@Resource注解的区别
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@PostConstruct以及@PreDestroy. @Resour ...
- 8.1 图像API
8.1 图像API Routine Description Drawing related functions GUI_AddRect() 调整矩形框的大小 GUI_GetClientRect() R ...
- html select美化模拟jquery插件select2.js
代码展示:http://www.51xuediannao.com/demo.php 代码说明: select2.js是一个html select美化模拟类jquery插件,但是select2.js又远 ...
- 连接分析算法-HITS-算法
转自http://blog.csdn.net/Androidlushangderen/article/details/43311943 参考资料:http://blog.csdn.net/hguisu ...
- LINUX内核及应用程序移植工作
1. 添加工作用户 [root@localhost ~]#useradd -G root -g root -d/home/arm arm 2. 建立工作目录 [arm@localhost arm]$m ...
- vim - Vi IMproved, 一个程序员的文本编辑器
总览 (SYNOPSIS) vim [options] [file ..] vim [options] - vim [options] -t tag vim [options] -q [errorfi ...