常用算法——“打擂台”求最值
“打擂台”算法:先找一个人站在台上,第二个人上去与之比武,获胜者留在擂台上。再上去第三个人,与台上的人(即刚才的得胜者)比武,胜者留在台上,败者下台,直到所有的人都比试过后,最后留在擂台上的即是冠军军!“打擂台”算法常用于求最大值或最小值。
应用一:求一个一维数组中的最大值。对应源程序:
应用二:求一个3×4矩阵中的最大值及其所在的行号和列号。对应源程序:
应用三:求一个二维数组中每行的最大值。根据应用一与应用二,大家可以写出这个程序吗?
“打擂台”算法:先找一个人站在台上,第二个人上去与之比武,获胜者留在擂台上。再上去第三个人,与台上的人(即刚才的得胜者)比武,胜者留在台上,败者下台,直到所有的人都比试过后,最后留在擂台上的即是冠军军!“打擂台”算法常用于求最大值或最小值。
应用一:求一个一维数组中的最大值。对应源程序:
应用二:求一个3×4矩阵中的最大值及其所在的行号和列号。对应源程序:
应用三:求一个二维数组中每行的最大值。根据应用一与应用二,大家可以写出这个程序吗?