当前位置: 首页 > news >正文

建设一个淘宝客网站晴天影视

建设一个淘宝客网站,晴天影视,腾讯云主机 wordpress,毕业设计网站方向题目: 图的深度优先搜索 描述: 图的深度优先搜索类似于树的先根遍历,是树的先根遍历的推广。即从某个结点开始,先访问该结点,然后深度访问该结点的第一棵子树,依次为第二顶子树。如此进行下去,直…

题目:

图的深度优先搜索
描述:
图的深度优先搜索类似于树的先根遍历,是树的先根遍历的推广。即从某个结点开始,先访问该结点,然后深度访问该结点的第一棵子树,依次为第二顶子树。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”至“Z”中的若干字符表示,且要求结点的访问顺序根据“A”至“Z”的字典顺序进行访问。例如有如下图:

如果要求从H开始进行深度优先搜索,则搜索结果为:H->A->K->U->E.
输入:
输入只包含一个测试用例,第一行为一个自然数n,表示顶点的个数,第二行为n个大写字母构成的字符串,表示顶点,接下来是为一个n*n大小的矩阵,表示图的邻接关系。数字为0表示不邻接,否则为相应的边的长度。
最后一行为一个字符,表示要求进行深度优先搜索的起始顶点。
输出:
用一行输出深度优先搜索结果,起始点为给定的顶点,各顶点之间用一个空格隔开(注意后面的提示)。

样例输入:
5
HUEAK
0 0 2 3 0
0 0 0 7 4
2 0 0 0 0
3 7 0 0 1
0 4 0 1 0
H

样例输出:
H A K U E

代码:

代码与图的广度搜索差不多,不同的就是将队列变为栈

以下两个代码都差不多,都是利用对应的ascll码转换成0~25相应的数字,理论上来说是一样的

权值在本题没有使用

需注意如图:

输入:

5
HUEAG
0 0 2 3 0
0 0 0 7 4
2 0 0 0 0
3 7 0 0 1
0 4 0 1 0
U

输出:

U A G H E 

第一个栈直接储存字符,使用时换成数字

import java.util.Scanner;
import java.util.Stack;public class Xingyuxingxi {public static void main(String[] args){Scanner sc=new Scanner(System.in);int a=sc.nextInt();String b=sc.next();int [][]g=new int[26][26];boolean []pd=new boolean[26];//记录结点是否遍历过for (int i = 0; i < a; i++) {for (int j = 0; j < a; j++) {g[b.charAt(i)-'A'][b.charAt(j)-'A'] = sc.nextInt();//把字符转换成1~25的相应下标,当假设b.charAt(i)='A',b.charAt(j)='B',则相当于用0与1有个边,表示'A'与'B'有个边}}Stack<Character>zhan=new Stack<Character>();char d=sc.next().charAt(0);zhan.push(d);while(!zhan.isEmpty()){d=zhan.pop();int y=d-'A';if(!pd[y])System.out.print(d+" ");pd[y]=true;for (int i = 25; i >=0 ; i--) {//从最后一个字母开始入栈,保证了小的字母先出栈,栈先进后出if(g[y][i]!=0&&!pd[i])//非0表示有连接,false表示没被标记,权值在这里没有用{char zm=(char)(i+'A');zhan.push(zm);}}}}
}

第二个先全部换成数字,栈储存数字,最后输出转换成字符

import java.util.Scanner;
import java.util.Stack;public class Xingyuxingxi {public static void main(String[] args){Scanner sc=new Scanner(System.in);int a=sc.nextInt();String b=sc.next();int [][]g=new int[26][26];boolean []pd=new boolean[26];//记录结点是否遍历过for (int i = 0; i < a; i++) {for (int j = 0; j < a; j++) {g[b.charAt(i)-'A'][b.charAt(j)-'A'] = sc.nextInt();//把字符转换成1~25的相应下标,当假设b.charAt(i)='A',b.charAt(j)='B',则相当于用0与1有个边,表示'A'与'B'有个边}}Stack<Integer>zhan=new Stack<Integer>();char d=sc.next().charAt(0);zhan.push(d-'A');while(!zhan.isEmpty()){int y=zhan.pop();if(!pd[y])System.out.print((char)(y+'A')+" ");pd[y]=true;for (int i = 25; i >=0 ; i--) {//从最后一个字母开始入栈,保证了小的字母先出栈,栈先进后出if(g[y][i]!=0&&!pd[i])//非0表示有连接,false表示没被标记,权值在这里没有用{zhan.push(i);}}}}
}

http://www.yayakq.cn/news/668764/

相关文章:

  • 网站建设设计贵吗支持wordpress的空间
  • 做网站用什么编程域名申请而完成以后怎么做网站
  • site网站连通率0%怎么解决钢化网
  • 最全的提交网站入口大全wordpress qq留言
  • 外贸网站定制wordpress建站网
  • php开发大型网站开发天津住房与城乡建设厅网站首页
  • 网站策划书一般包括以下内容河北省招标投标公共服务平台
  • 哪些网站做的美剧广东建设职业注册中心网站
  • 国内网站做得好的公司上海工程相关的公司
  • dede笑话网站源码职业生涯规划大赛ppt
  • 网站网页制作模板修改wordpress插件怎么用
  • 网站设计规范西安比较厉害的软件公司
  • 英文 网站 字体云服务器租赁
  • 电子商务网站建设是学什么软件推广价格一般多少
  • 网站建设 类郑州厉害的seo优化顾问
  • 公司内部网站创建企业网站托管一年多少钱
  • 网站建设及维护保密协议金色世纪做网站的是哪个岗位
  • 网站怎么做超链接me域名网站
  • 梁山做网站宝安营销型网站制作
  • php5 mysql网站开发基础与应用大数据技术与应用
  • 网站子站怎么建设什么是二级域名网站
  • vi设计欣赏网站免费网站设计素材
  • 淄博便宜网站设wordpress 嵌入 php代码
  • 网站建设教程asp网站建设需要那种技术
  • 网站设计 psd软件开发流程流程图
  • 江西省飞宏建设工程有限公司 网站网页微信扫码登录
  • 网站优化步骤自考本科含金量高吗
  • 个人如何做网站建设信息港查询
  • 政务公开 加强门户网站建设旅游网站设计模板图片
  • 设计一个企业网站报价网站建设公司哪家强