算法效率问题(编译原理)

左心房为你撑大大i 提交于 2019-12-05 01:48:20
int findFather(int x) {//查找根结点并进行路径压缩
      /*if (father[x] == x)
		return x;
	int temp = findFather(father[x]);
	father[x] = temp;
	return temp;*/
	return x == father[x] ? father[x] : findFather(father[x]);
}

  以上代码是用于最小生成树中的路径压缩问题,注释部分和下面的三目运算符是两种求解方式,运行结果如下:

 

编译原理:三目运算符在汇编的时候多了将等号右边的运算结果保存到中间变量的过程,最终耗时比注释部分看似更长的代码长

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!