数据结构-怀化学院期末题(322)

图的深度优先搜索

题目描述:
图的深度优先搜索类似于树的先根遍历,是树的先根遍历的推广。即从某个结点开始,先访问该结点,然后深度访问该结点的第一棵子树,依次为第二顶子树。如此进行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“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

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<stack>
#include<map>
using namespace std;
typedef pair<int,int> PII;
const int N = 1e5 + 10;
int n;
string str;
int a[26][26],book[26];
char c;
int main(){
	cin >> n;
	cin >> str;
	for(int i = 0;i < n;i ++)
		for(int j = 0;j < n;j ++)
			cin >> a[str[i] - 'A'][str[j] - 'A'];
	cin >> c;
	stack<int> st;
	st.push(c-'A');
	book[c-'A'] = 1;
	cout << c << ' ';
	while(st.size()){
		auto t = st.top();
		st.pop();
		if(!book[t]) 
			cout << (char)(t + 'A') << " ";
		book[t] = 1;
		for(int i = 25;i >= 0;i --){
			if(a[t][i] != 0 && book[i] == 0){
				st.push(i);
			}
		}
		
	}
	return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【小白专用】(C#)用户、角色、权限控制体系

我们在开发很多项目的时候,都会用到用户权限管理,我也在很多项目里做过权限控制,所以,我也总结出一套条理清晰的角色权限控制体系。本文采用RBAC&#xff08;Role Based Access Control&#xff09;的基本思想&#xff0c;RBAC&#xff08;角色访问控制&#xff09;的基本思想可…

自动驾驶HWP的功能定义

一、功能定义 高速路自动驾驶功能HWP是指在一般畅通高速公路或城市快速路上驾驶员可以放开双手双脚&#xff0c;同时注意力可在较长时间内从驾驶环境中转移&#xff0c;做一些诸如看手机、接电话、看风景等活动&#xff0c;该系统最低工作速度为60kph。 如上两种不同环境和速度…

谷歌提出「边界注意力」模型,实现超越像素级检测精度!微弱边界也逃不过

有些情况下&#xff0c;当面临分辨率较低的图像时&#xff0c;可能会在进行诸如目标检测和图像分割等任务时遇到一些挑战和阻碍。这是因为低分辨率图像可能丢失了细节信息&#xff0c;使得计算机视觉系统难以准确捕捉和理解图像中的关键特征。在这种背景下&#xff0c;传统的方…

CTF-PWN-沙箱逃脱-【seccomp和prtcl-1】

文章目录 啥是seccomp#ifndef #define #endif使用使用格式 seccomp无参数条件禁用系统调用有参数条件禁用系统调用 prctl实例 seccomp_export_bpf 啥是seccomp 就是可以禁用掉某些系统调用&#xff0c;然后只能允许某些系统调用 #ifndef #define #endif使用 #ifndef #defin…

Java可视化大屏智慧工地云平台源码(SaaS模式)

智慧工地是一种崭新的工程现场一体化管理模式&#xff0c;是互联网与传统建筑行业的深度融合。它充分利用移动互联、物联网、云计算、大数据等新一代信息技术&#xff0c;围绕人、机、料、法、环等各方面关键因素&#xff0c;彻底改变传统建筑施工现场参建各方现场管理的交互方…

鸿蒙开发已解决The module to import is incompatible with the current project

文章目录 项目场景:问题描述原因分析:解决方案:心得体会:知识点OpenHarmony:HarmonyOS:项目场景: 报错: The module to import is incompatible with the current project 问题描述 希望通过 import module 将该模块引入到我的项目。 导入后出现错误,因为项目和模

从事涉密测绘业务的人员应当具有中华人民共和国国籍,签订保密责任书,接受保密教育。

从事涉密测绘业务的人员应当具有中华人民共和国国籍&#xff0c;签订保密责任书&#xff0c;接受保密教育。 1、从事涉密测绘业务并签署保密责任书的人员清单&#xff08;包括&#xff1a;姓名、身份证号码、工作岗位、责任书签署日期&#xff09; 2、近三年内&#xff08;或…

【Java 设计模式】设计原则

文章目录 ✨单一职责原则&#xff08;SRP&#xff09;✨开放/封闭原则&#xff08;OCP&#xff09;✨里氏替换原则&#xff08;LSP&#xff09;✨依赖倒置原则&#xff08;DIP&#xff09;✨接口隔离原则&#xff08;ISP&#xff09;✨合成/聚合复用原则&#xff08;CARP&#…

项目管理:放权并非推卸责任,项目经理如何做好授权管理

项目经理作为项目的管理者&#xff0c;肩负着对项目整体结果的重大责任。然而&#xff0c;项目的成功并非项目经理一人之力所能完成&#xff0c;因此&#xff0c;恰当地授权给团队成员显得尤为重要。 但是&#xff0c;项目经理的能力和精力有限&#xff0c;只有通过授权&…

【推文】企业级AI问答知识库训练营,火热开营中!

简介&#xff1a;阿里云人工智能平台PAI【企业AI成长营】系列课程上线&#xff01;第一弹&#xff1a;企业AI问答知识库训练营&#xff0c;手把手带你从入门到实操快速完成知识库搭建&#xff0c;助力企业AI应用落地。 &#x1f4da; 企业AI问答知识库训练营&#xff1a;点击报…

性能分析与调优: Linux 内存观测工具

目录 一、实验 1.环境 2.vmstat 3.PSI 4.swapon 5.sar 6.slabtop 7.numstat 8.ps 9.top 10.pmap 11.perf 12.bpftrace 二、问题 1.接口读写报错 2.slabtop如何安装 3.numactl如何安装 4.numad启动服务与关闭NUMA 5. perf如何安装 6. kernel-lt-doc与kern…

Java Stream介绍和实战

目录 1. 引言 2. Stream 的基本特性 3. 创建 Stream 4. Stream 的中间操作 5. Stream 的终端操作 6. Stream 的性能优化 7. 实例演示 8. 注意事项 9. 结语 1. 引言 Java 中的 Stream 是 Java 8 引入的一种用于对集合进行操作的工具&#xff0c;为开发者提供了一种更便…

苹果在美国被禁售有望反转!

都说开门大吉,可2024年似乎对苹果公司并不友好,一会儿是Apple Watch系列在美国被禁售,一会儿又是分析师唱衰iPhone 16,总之各种风声杂糅,给人一种苹果正遭遇重大危机的感觉。 此前美国国际贸易委员会(ITC)下达了对苹果旗下部分智能手表的进口禁令,Apple Watch Series9和…

优思学院|为什么医疗行业供应商需要六西格玛管理?

什么是六西格玛管理&#xff1f; 六西格玛管理是一种旨在提高产品和服务质量的方法论。它通过减少过程中的错误和变异性&#xff0c;来提高效率和性能。自20世纪80年代由摩托罗拉公司首创以来&#xff0c;六西格玛已经在各行各业得到广泛应用。 医疗行业的特点 医疗行业是一…

C#.Net学习笔记——设计模式六大原则

***************基础介绍*************** 1、单一职责原则 2、里氏替换原则 3、依赖倒置原则 4、接口隔离原则 5、迪米特法原则 6、开闭原则 一、单一职责原则 举例&#xff1a;类T负责两个不同的职责&#xff1a;职责P1&#xff0c;职责P2。当由于职责P1需求发生改变而需要修…

【leetcode】力扣热门之回文链表【简单难度】

题目描述 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 用例 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true 输入&#xff1a;head [1,2] 输出&#xff1a;f…

TikTok电商年度洞察:出海到底“卖什么”?各国多类目爆款洞察,迅速掌握市场领先优势

很多卖家在尝试出海时&#xff0c;常面临两大核心痛点&#xff1a;一是“卖什么”&#xff0c;即选择何种商品进行销售&#xff1b;二是“怎么卖”&#xff0c;即如何通过有效的营销策略将商品销售出去。TikTok主打的内容电商模式&#xff0c;通过短视频和直播等形式&#xff0…

LeetCode-1822/1502/896/13

1.数组元素积的符号&#xff08;1822&#xff09; 题目描述&#xff1a; 已知函数 signFunc(x) 将会根据 x 的正负返回特定值&#xff1a; 如果 x 是正数&#xff0c;返回 1 。 如果 x 是负数&#xff0c;返回 -1 。 如果 x 是等于 0 &#xff0c;返回 0 。 给你一个整数数组…

2.SPSS数据文件的建立和管理

文章目录 数据文件的特点建立SPSS数据文件步骤 数据文件的结构变量的规则 数据的录入和保存录入数据保存文件 数据的编辑数据定位 数据文件的特点 SPSS数据库文件包括文件结构和数据两部分 SPSS数据文件中的一列数据称为一个变量。每个变量都应有一个名称&#xff0c;即&…

如何搭建WampServer并结合cpolar内网穿透实现公网访问本地服务

文章目录 推荐前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&am…