已知长度为n的线性表A采用顺序存储结构,请写一算法,找出该线性表中值最小的数据元素。
展开全部
【答案】:(1)数据结构
采用顺序表定义。
(2)思路
设置变量min,遍历整个表,不断更新当前已经遍历过的元素的最小值即可。
为方便起见,事先假设表不为空。
(3)算法
DataType min_seq(PSeqList palist){ /*求非空顺序表中的最小数据元素*/
DataType min;
inti;
min=palist->element[0]; /*初始化min*/
for(i=1;i<palist->n;i++) /*min中保存的总是当前的最小数据*/
if(min>palist->element[i])
min=palist->elemellt[i];
return min;
}
(4)代价分析
该算法访问顺序表中每个元素各一次,时间代价为O(n)。可以尝试对上面的算法进行修改,使返回的值不是最小元素的值而是它的下标。
采用顺序表定义。
(2)思路
设置变量min,遍历整个表,不断更新当前已经遍历过的元素的最小值即可。
为方便起见,事先假设表不为空。
(3)算法
DataType min_seq(PSeqList palist){ /*求非空顺序表中的最小数据元素*/
DataType min;
inti;
min=palist->element[0]; /*初始化min*/
for(i=1;i<palist->n;i++) /*min中保存的总是当前的最小数据*/
if(min>palist->element[i])
min=palist->elemellt[i];
return min;
}
(4)代价分析
该算法访问顺序表中每个元素各一次,时间代价为O(n)。可以尝试对上面的算法进行修改,使返回的值不是最小元素的值而是它的下标。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询