回溯法,编写最大团问题

描述:团就是最大完全子图。(极大团)

给定无向图G=(V,E)。如果U包含于V,且对任意u,v属于U且有(u,v)属于E,则称U是G的完全子图。

G的完全子图U是G的团当且仅当U不包含在G的更大的完全子图中,即U就是最大完全子图。

G的最大团是指G中所含顶点数最多的团。

// 最大团: V中取K个顶点,两点间相互连接

// 最大独立集: V中取K个顶点,两点间不连接

// 最大团数量: 补图中最大独立集数

global v,e,graph#v为顶点数,e为边数,graph为邻接矩阵
global cn,bestn#cn当前团的顶点数,bestn最大团的顶点数
global corder,bestorder#corder当前团的顶点集,bestorder最大团的顶点集
global vis#记录已选的顶点
vis=[0 for i in range(100)]
corder=[0 for i in range(100)]
bestorder=[0 for i in range(100)]
def istuan(cur):global vis,graphfor i in range(cur):if((vis[i]==1) and(graph[i][cur]==0)):return 0return 1def backtrack(cur):global v,bestn,corder,cn,vis#python中定义全局变量,先定义,使用时再次声明# if (cur>v-1):if(cur>v):if (cn>bestn):bestn=cnfor i in range(v+1):if corder[i]!=0:print(corder[i],'',end='')print()returnif(istuan(cur)):cn+=1vis[cur]=1corder[cur]=curbacktrack(cur+1)cn-=1vis[cur]=0corder[cur]=0#回溯到i,为进入右子树做准备if ((cn+v-cur)>bestn):#剪右枝条件,否则向右递归backtrack(cur+1)
if __name__=='__main__':global graph,cn,bestncn=0bestn=0v=5;e=7# graph=[[0,1,0,1,1],[1,0,1,0,1],[0,1,0,0,1],[1,0,0,0,1],[1,1,1,1,0]]graph=[[0 for i in range(v+1)] for j in range(v+1)]print(graph)for k in range(1,e+1):i,j=map(int,input().split())graph[i][j]=1print(graph)backtrack(1)print(bestn)

python最大团问题相关推荐

  1. 日常办公会用到的python模块-Python如何去实际提高工作的效率?也许这个会有用!...

    4月初,班主任的某次周会议上,华华关切的问了一下:最近班主任们有什么难题吗?就是花费了你们大部分时间的工作!我们Python天团可以帮你们解决问题. 班主任大主管星星说:有.目前有一个大难题.我们每天 ...

  2. python快速自学方式-Python怎样自学?

    多看一些网上的视频,书籍基础了解下python内容,加入一个自学团,在里面找到学习伙伴,坚持每天打卡,多看一些大神们的经验分享,多多参加实战练习,上机操作. 学习先导1. 算法基础知识(算法所具有的特 ...

  3. python编程入门指南怎么样-如果想学python怎么入门?

    python入门相对容易对可以干很多事,是一门方便的工具语言. 在学习python之前,肯定都自己了解过这门语言,也知道python有很多学习方向.比如数据采集方向(爬虫),或者是Web开发方向,也可 ...

  4. python基础知识思维导图-python基础知识思维导图1

    python的发展史 - 1989年,Guido(龟叔),为ABC语言写插件,Monty Python喜剧团: - 1990年,发布python第一个版本: - 2001年,2.x:     (pyt ...

  5. 编程入门python语言是多大孩子学的-Python 适合初学编程的人学吗?

    Python是一门比较适合零基础人员学习的编程语言,只要你想学,愿意学,并选择一个好的学习途径,就一定能学会.下面我分享一下学习python的步骤: 1.:Python开发基础 Python基础语法. ...

  6. python写一个表白程序_520最实用的Python表白程序

    今天是520,看到公众号里到处都是各种表白. 我也来凑凑热闹. 我记得以前我写过一篇文章关于turtle的, from turtle import * import turtle from tkint ...

  7. python是什么 自学-Python怎样自学?

    多看一些网上的视频,书籍基础了解下python内容,加入一个自学团,在里面找到学习伙伴,坚持每天打卡,多看一些大神们的经验分享,多多参加实战练习,上机操作. 学习先导1. 算法基础知识(算法所具有的特 ...

  8. python基础之语言发展历史

    博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏. ...

  9. Python 学习1

    python的发展史 1989年,Guido(龟叔),为ABC语言写插件,Monty Python喜剧团: 1990年,发布python第一个版本: 2001年,2.x: (python2.7 --& ...

最新文章

  1. vb 6.0服务器组件选哪个,VB 6.0包括几种版本?分别是什么?
  2. 谈谈对Spring IOC的理解
  3. win2008文件服务器fs,文件服务器 fs
  4. 推荐Datawhale整理的秋招求职攻略
  5. Android Fragments 详细使用
  6. Tomcat根据JSP生成Servlet机制解析
  7. 30秒的PHP代码片段-MATH
  8. mel滤波器组频率响应曲线_非常好的滤波器知识总结,值得一看!
  9. [HTML5]使用Box2dWeb模拟飞行箭矢
  10. FusionCharts 3.2.1 flash 图表展示、数据钻取
  11. Vue项目中使用echarts教程
  12. 苹果手机屏幕镜像_苹果手机还能一键投屏?点一下小屏变大屏幕,看剧是真畅快...
  13. 图信号处理之图拉普拉斯矩阵的含义
  14. python股票回测_从啥都不会试着用python做均线回测--1
  15. 云计算通俗解释,什么叫云计算
  16. uni-app注册 page-head
  17. delphi 简单的 fastreport 设计
  18. 华为发放20亿奖金,人均10万!你还想逃离996吗?
  19. MSSQL Server查询优化方法
  20. Python攻防-暴力破解ZIP加密文件的密码

热门文章

  1. PTA刷题记录:L1-039 古风排版 (20分)
  2. C#光功率计_扫码器导入excel
  3. Labview的下载地址
  4. javaScript函数模块详解
  5. 从0到1,如何从知乎赚到第一笔佣金
  6. 用友U9 刷新当前页面代码
  7. 用python实现微信、钉钉等软件多开
  8. ethtool命令手册
  9. [website] welcomePage 和 获取待时间轴歌词
  10. matlab fsolve用法,求助Matlab fsolve用法