Dado una matriz numérica desordenada de tamaño 6 x 5, cuantas comparaciones debo hacer en el mejor escenario para poder encontrar un valor buscado.
Mediante PSeInt
Respuestas a la pregunta
Respuesta:
En el siguiente algoritmo puedes buscar el valor de A en una matriz de 6x5
las comparaciones dependen del valor de A y de su existencia y posicion en la matriz en el ejemplo la matriz está ordenada para que sea mas facil comprender el ejemplo, pero respondiendo a tu duda Diria que en el mejor caso solo necesitas una comparacion si A estan en la posicion [1,1] de la matriz en el peor caso seria la multiplicacion de las dimenciones es decir 6x5=30, 30 comparaciones
Algoritmo sin_titulo
//Creacion de la matriz 6x5
Dimension matriz[6,5]
//rellenando matriz e imprimiendola
num<-10
para x<-1 hasta 6 Hacer
para z<-1 hasta 5 Hacer
matriz[x,z]<-num
Escribir matriz[x,z],"," Sin Saltar
num<-num+1
FinPara
Escribir ""
FinPara
//Buscando el valor de x (seria como rellenar pero esta vez usando condicionales)
A<-39
existe<-falso //variable para determinar la existencia de A en la matriz
Escribir ""
Escribir "A=",A
comparaciones<-1
para x<-1 hasta 6 Hacer
para z<-1 hasta 5 Hacer
si matriz[x,z]==A Entonces
existe=Verdadero
Escribir A," se encuentra en la posicion [",x,",",z,"] de la matriz"
Escribir comparaciones, " comparaciones realizadas"
FinSi
si existe==falso Entonces
comparaciones<-comparaciones+1
FinSi
FinPara
FinPara
si existe==falso Entonces
Escribir A," no existe en la matriz"
FinSi
FinAlgoritmo