Informática, pregunta formulada por LuissitoZz, hace 1 mes

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

Contestado por Tenhou
1

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

Adjuntos:
Otras preguntas