【正确答案】正确答案:寻找马鞍点最直接的方法是在一行中找出一个最小值元素,然后检查该元素是否是其所在列的最大元素。如是,则输出一个马鞍点,时间复杂度是O(m*(m+n))。另一算法是使用两个辅助数组max和min,存放每列中最大值元素的行号和每行中最小值元素的列号,时间复杂度为O(m*n+m),但比较次数比前种算法会增加,也多使用向量空间。核心语句段如下: max[n]=(0); //max数组存放各列最大值元素的行号,初始化为行号0 min[m]={0); //min数组存放各行最小值元素的列号,初始化为列号0 for(i=0 ; icm;i++) //选各行最小值元素和各列最大值元素 for(j=0;j
A[i][j])min[i]=j;}//修改第i行最小元素的列号 for(i=0;i
【答案解析】