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

江苏省实训基地建设网站苍溪县城乡建设投资有限公司网站

江苏省实训基地建设网站,苍溪县城乡建设投资有限公司网站,实用网站建设期末考试,护肤品软文推广文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析#xff1a;本题应用并查集的理论直接就可以解决#xff1a;【算法与数据结构】回溯算法、贪心算法、动态规划、图… 文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析本题应用并查集的理论直接就可以解决【算法与数据结构】回溯算法、贪心算法、动态规划、图论笔记三。   程序如下 class Solution { private:int n 200005; // 节点数量 200000vectorint father vectorint(n, 0); // C里面的一种数据结构// 并查集初始化void init() {for (int i 0; i n; i) {father[i] i;}}// 并查集里寻根的过程int find(int u) {return u father[u] ? u : father[u] find(father[u]); // 路径压缩}// 判断 u 和 v是否找到同一个根bool isSame(int u, int v) {u find(u);v find(v);return u v;}// 将v-u 这条边加入并查集void join(int u, int v) {u find(u); // 寻找u的根v find(v); // 寻找v的根if (u v) return; // 如果发现根相同则说明在一个集合不用两个节点相连直接返回father[v] u; // 根不同则令v的父节点为u} public:bool validPath(int n, vectorvectorint edges, int source, int destination) {init();for (int i 0; i edges.size(); i) {join(edges[i][0], edges[i][1]);}return isSame(source, destination);} };复杂度分析 时间复杂度 O ( n m × α ( m ) ) O(nm \times \alpha(m)) O(nm×α(m))其中 n n n是图中的顶点数 m m m为图中边的数目edges大小 α \alpha α是反阿克曼函数。并查集的初始化需要花费 O ( n ) O(n) O(n)的时间图中边的查询与合并的单次操作时间复杂度是 O ( α ( m ) ) O(\alpha(m)) O(α(m))主函数中一共需要 m m m次。因此最终的时间复杂度为 O ( n m × α ( m ) ) O(nm \times \alpha(m)) O(nm×α(m))。空间复杂度 O ( n ) O(n) O(n)主要用来开辟father数组。 三、完整代码 # include iostream # include vector using namespace std;class Solution { private:int n 200005; // 节点数量 200000vectorint father vectorint(n, 0); // C里面的一种数据结构// 并查集初始化void init() {for (int i 0; i n; i) {father[i] i;}}// 并查集里寻根的过程int find(int u) {return u father[u] ? u : father[u] find(father[u]); // 路径压缩}// 判断 u 和 v是否找到同一个根bool isSame(int u, int v) {u find(u);v find(v);return u v;}// 将v-u 这条边加入并查集void join(int u, int v) {u find(u); // 寻找u的根v find(v); // 寻找v的根if (u v) return; // 如果发现根相同则说明在一个集合不用两个节点相连直接返回father[v] u; // 根不同则令v的父节点为u} public:bool validPath(int n, vectorvectorint edges, int source, int destination) {init();for (int i 0; i edges.size(); i) {join(edges[i][0], edges[i][1]);}return isSame(source, destination);} };int main() {int n 3, source 0, destination 2;vectorvectorint edges { {0, 1}, {1, 2}, {2, 0} };Solution s1;bool result s1.validPath(n, edges, source, destination);cout result endl;system(pause);return 0; }end
http://www.pierceye.com/news/871759/

相关文章:

  • 哪些网站可以做问卷第1063章 自己做视频网站
  • 电子商务网站 费用做p2p网站
  • 网站建设 猴王网络厦门app开发网站开发公司电话
  • 做3d图的网站有哪些比wordpress更好的网站程序
  • 仿做网站可以整站下载器吧网络网站建设公司
  • 网站流量用完wordpress page 父页面
  • 旅游地网站制作有没有做网站的高手
  • 有什么网站可以做一起作业什么网站可以兼职做效果图
  • 工程中标查询网站长沙网站制作作
  • 免费网站下载直播软件企业品牌网站建设类型
  • 建立网站并以此为基础从事经营活动的企业称为什么免费销售网站模板
  • 成都市建设质监站网站微信企业网站html5模板
  • 福建工程建设管理中心网站仙桃做企业网站的
  • 孝感做网站的公司建网站是永久的吗
  • 厦门手机建站php网站开发推荐书籍
  • 属于c2c网站的有哪几个方庄网站制作
  • 建设局网站模板iis 网站没有上传权限
  • 建设网站龙华怎么用自己的电脑搭建网站
  • 分析网站的网站福建交科建设有限公司官方网站
  • 深圳南园网站建设网站域名怎么设置方法
  • 网站的内链是什么意思网页布局有哪几种方法
  • 网站优化公司上海山东电力建设河北分公司网站
  • 甘肃省住房和城乡建设部网站首页专门网页制作工具有
  • 网站用vps做dns做网站的叫什么职位
  • 网站开发业务流程图网站商城与网站区别吗
  • 用新浪微博做网站百度找不到 网站
  • 哪个网站做照片书最好seo投放是什么意思
  • 书店网站开发目的和意义深圳网建公司
  • 餐饮网站方案wordpress 微论坛主题
  • 上海建筑网站设计多用户商城数据库设计