哈密顿路径_检查图形是否为哈密顿量(哈密顿路径)

哈密顿路径

Problem Statement:

问题陈述:

Given a graph G. you have to find out that that graph is Hamiltonian or not.

给定图G。 您必须找出该图是否为哈密顿量

Example:

例:

Input:

输入:

hamiltonian path

Output: 1

输出1

Because here is a path 0 → 1 → 5 → 3 → 2 → 0 and 0 → 2 → 3 → 5 → 1 → 0

因为这里是路径0→1→5→3→2→0和0→2→3→5→1→0

Algorithm:

算法:

To solve this problem we follow this approach:

为了解决这个问题,我们采用以下方法:

  1. We take the source vertex and go for its adjacent not visited vertices.

    我们获取源顶点,并寻找其相邻的未访问顶点。

  2. Whenever we find a new vertex we make it source vertex and we repeat step 1.

    每当我们找到一个新顶点时,就将其设为源顶点,然后重复步骤1。

  3. When a vertex count is equal to the vertex number then we check that from vertex is there any path to the source vertex. If there is exist a path to the source vertex then we will mark it and if not then make that vertex as unmarked and continue the process.

    当顶点数等于顶点数时,我们检查从顶点开始是否存在到源顶点的任何路径。 如果存在到源顶点的路径,那么我们将对其进行标记,如果没有,则将该顶点设为未标记并继续该过程。

  4. If there is no such path then we say NO.

    如果没有这样的路径,那么我们说不。

检查图是否为哈密顿的C ++实现 (C++ Implementation to check a graph is Hamiltonian or not )

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
void addedge(list<int>* g, int u, int v)
{
g[u].push_back(v);
g[v].push_back(u);
}
int hamiltonian(list<int>* g, int v, int s, int& count, bool* vis, int& h)
{
if (count > 1 && s == 0) {
h = 1;
return 1;
}
list<int>::iterator it;
for (it = g[s].begin(); it != g[s].end(); it++) {
if (!vis[*it]) {
vis[*it] = true;
count++;
if (count == v) {
vis[0] = false;
}
hamiltonian(g, v, *it, count, vis, h);
vis[0] = true;
vis[*it] = false;
count--;
}
}
return 0;
}
int main()
{
int num;
cin >> num;
for (int i = 0; i < num; i++) {
int v, e;
cin >> v >> e;
list<int> g[v];
int x, y;
for (int j = 0; j < e; j++) {
cin >> x >> y;
addedge(g, x, y);
}
bool vis[v];
memset(vis, false, sizeof(vis));
int count = 1;
vis[0] = true;
int h = 0;
hamiltonian(g, v, 0, count, vis, h);
cout << h << endl;
}
return 0;
}

Output

输出量

1
5
8
0 1
0 2
1 2
1 3
1 4
3 4
3 2
2 4
1

翻译自: https://www.includehelp.com/icp/check-a-graph-is-hamiltonian-or-not-hamiltonian-path.aspx

哈密顿路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

京东自动下单软件_黄牛软件自动下单秒杀商品 警方用科技手段打击

法制日报全媒体记者 张维定了10个闹钟,也抢不到一瓶茅台&#xff1b;等了很久的iPhone新手机,打开网页就秒没……或许并不是因为你的手速、网速慢,而是黄牛党在用软件和你抢商品。近日,在“净网2019”专项行动中,阿里安全协助江苏省南通市公安局成功打掉了一个制作销售黄牛软件…

河南招教考试计算机专业知识,河南教师招聘考试《计算机网络技术基础》知识点归纳七...

河南教师招聘考试《计算机网络技术基础》知识点归纳七1.ADSL是非对称数字用户线路&#xff0c;其下行速率为1.5&#xff5e;8 Mb/s&#xff0c;而上行速率则为16&#xff5e;640 kb/s。在一对铜双绞线上的传送距离可达5km左右&#xff0c;可同时上网打电话&#xff0c;互不影响…

content属性的4种用途

content属性浏览器支持情况&#xff0c;兼容到IE8浏览器&#xff0c;IE7及以下不支持用途一、配合:before及:after伪元素插入文本<div><p>伪元素</p> </div>p:before{content:CSS3;color:#4bb;font-weight:bold;margin-right:20px;background:#f0f0f0;…

内蒙古师范大学计算机科学技术学院,内蒙古师范大学计算机科学技术硕士生导师——李成城...

李成城&#xff0c;教授&#xff0c;硕导&#xff0c;1971年7月出生于内蒙古呼伦贝尔盟。2002年9月-2005年7月在北京邮电大学信息工程学院学习&#xff0c;获得工学博士学位&#xff0c;主要研究领域是&#xff1a;自然语言理解、机器学习、图像识别。1993年在内蒙古师范大学计…

超清世界地图可放大_3D高清世界地图

查看世界地图的工具有哪些可以提供呢&#xff1f;3D世界地图官方版是简单好用的世界地图工具&#xff0c;可以看到地球的大概模样&#xff0c;选择不一样的海洋能看到不一样的事物&#xff0c;这也是一款3d世界地图高清地图&#xff0c;需要用地图软件的可以下载。3D世界地图官…

工欲善其事必先利其器(一)

2019独角兽企业重金招聘Python工程师标准>>> 写在前面的话&#xff1a;纸上得来终学浅&#xff0c;绝知此事要躬行。还是自己敲一遍记得牢。 下载和安装 Emmet为大部分流行的编辑器都提供了安装插件&#xff0c;下面是它们的下载链接&#xff1a; Sublime Text Ecli…

windows 2008r2文件服务器部分用户访问不了_苹果设备如何访问 Windows 文件共享?...

前几天写了一篇关于 Mac 文件共享的。今天继续聊聊 Mac、iPad 和 iPhone 如何访问 Windows 的文件共享。Windows 开启文件共享Windows 搜索并打开「高级共享设置」。在「专用」勾选「启用网络发现」和「启用文件和打印机共享」。然后选择一个 Windows 上想要共享的位置&#xf…

微信小程序简单入门1

参考文档&#xff1a;https://mp.weixin.qq.com/debug/wxadoc/dev/index.html1 创建项目开发者工具安装完成后&#xff0c;打开并使用微信扫码登录。选择创建“项目”&#xff0c;填入上文获取到的 AppID &#xff0c;&#xff08;无appid直接选择&#xff09;设置一个本地项目…

leetcode数组汇总_LeetCode刷题实战118:杨辉三角

算法的重要性&#xff0c;我就不多说了吧&#xff0c;想去大厂&#xff0c;就必须要经过基础知识和业务逻辑面试算法面试。所以&#xff0c;为了提高大家的算法能力&#xff0c;这个公众号后续每天带大家做一道算法题&#xff0c;题目就从LeetCode上面选 &#xff01;今天和大家…

多线程下不能用truncate吗_那么多的化妆品,怀孕后都不能用了吗?

前几天圆梦参加了青岛的美博会&#xff0c;里面的化妆品真多啊&#xff0c;无论是护肤、美白、彩妆比比皆是&#xff0c;看的人眼&#xff08;liu&#xff09;花&#xff08;lian&#xff09;缭&#xff08;wang&#xff09;乱&#xff08;fan&#xff09;。虽说国务院宣布的新…

手机html5性能测试工具,HTML5模块 性能方面8大测试环节_小米 M3_手机硬件频道-中关村在线...

Vellamo作为一款专攻网页浏览性能测试的工具&#xff0c;在这方面的测试环节也相对复杂很多。这一部分在Vellamo的HTML5测试环节中通过14项测试来进行体现&#xff0c;而接下来我们会对着实际个测试项进行相应的介绍。See The Sun Canvas/Pixel Blender测试界面See The Sun Can…

[计算机网络]httpserver--如何解析HTTP请求报文

这个http server的实现源代码我放在了我的github上&#xff0c;有兴趣的话可以点击查看哦。 在上一篇文章中&#xff0c;讲述了如何编写一个最简单的server&#xff0c;但该程序只是接受到请求之后马上返回响应&#xff0c;实在不能更简单。在正常的开发中&#xff0c;应该根据…

英特尔核芯显卡控制面板没有了_核显和独显、集成显卡有什么区别

集成显卡&#xff1a;一般不带有显存&#xff0c;而是使用系统的一部分主内bai存作为显存&#xff0c;具体的数量一般是系统根据需要自动动态调整的。显然&#xff0c;如果使用集成显卡运行需要大量占用内存的空间&#xff0c;对整个系统的影响会比较明显&#xff0c;此外系统内…

徐州初中计算机学校排名2015,徐州初中学校排名,徐州重点初中排名详细榜单

2018年徐州初中学校排名,徐州重点初中排名详细榜单孩子小升初&#xff0c;几乎所有的家长都会陷入纠结&#xff0c;都想为孩子选择一所“好学校”&#xff0c;在择校过程中&#xff0c;家长们总想知道徐州初中学校排名以及徐州重点初中排名详细榜单&#xff0c;但这里小编提醒一…

分布式计算 MapReduce与yarn工作机制

一、第一代hadoop组成与结构第一代Hadoop&#xff0c;由分布式存储系统HDFS和分布式计算框架MapReduce组成&#xff0c;其中&#xff0c;HDFS由一个NameNode和多个DataNode组成&#xff0c;MapReduce由一个JobTracker和多个TaskTracker组成&#xff0c;对应Hadoop版本为Hadoop …

计算机无法上无线网络连接到internet,电脑连接不上无线网络,教您怎么解决电脑连接不上无线网络...

小编家的那位笔记本姐姐之前可能是受委屈了&#xff0c;一个一个的电脑问题丢出来给我解决。之前有段时间总是出现电脑连接不上无线网络的问题&#xff0c;弄得那短时间天天都在想办法是解决。现在&#xff0c;我就要将这种解决方法分享给你们&#xff0c;让你们在遇到这个问题…

格兰杰因果关系检验_混频(mixed frequency)数据的格兰杰因果(Grange causality)检验及其Matlab实现...

格兰杰和格兰杰因果网络搜到的Grange大神标准照格兰杰1934年9月出生于英国威尔士的斯旺西&#xff0c;早期就读于诺丁汉大学&#xff0c;接受当时英国第一个经济学数学双学位教育&#xff0c;1955年留校任教&#xff0c;1957年在天文学杂志上他发表了第一篇论文&#xff1a;“关…

后台窗口截图_万人拥捧的截图软件来啦!让你的工作效率提升不止一倍!

文章来自微信公众号&#xff1a;小七有料直接进入正题&#xff0c;今天不野给大家分享两款截图软件——Snipaste和FastStone Capture&#xff0c;前者与其说是一个截图软件&#xff0c;我更愿意称之为贴图软件。两者都在工作中很大程度提高了我的效率&#xff0c;也简便化了我很…

ibm nvidia 超级计算机,IBM,Nvidia和美国能源部组成一个超级计算机超级团队

CNET技术信息网7月15日国际报道: IBM将与Nvidia和美国能源部合作建立两个新的杰出超级计算机中心. 这项合作的工作主要集中在两个方面&#xff0c;一个是确保应用程序可以充分利用超级计算机的强大性能&#xff0c;另一个是收集开发人员&#xff0c;工程师和科学家的反馈.这两个…

华为p40论坛_华为高端旗舰继续发力!麒麟990 5G+超感知三摄,256GB降价799元

小米10、一加8&#xff0c;vivo NEX3S等高性能旗舰产品现已在市场上发售。其中&#xff0c;5G旗舰华为P40也在销售团队中&#xff0c;并且最近成为最受欢迎的旗舰产品。由于华为P40高端版从799元跌至4189元&#xff0c;消费者可以以不到800元的价格购买低价高性能旗舰产品&…