Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ingeniería
Materia: Estructura de Datos
Presentado por:
German Darío Rodriguez Pulido
1) Implemente una función en lenguaje java que, dado un arreglo de enteros, A, calcule y
retorne el número que más veces se repite en A. En caso de empate, la función puede
retornar cualquiera de los números más frecuentes.
La función acepta una matriz de enteros A como parámetro y devuelve el número que aparece más
en A. Para resolver el problema, la función calcula las frecuencias de cada dígito en A usando
HashMap. El algoritmo atraviesa la matriz A, calcula la frecuencia de cada número y actualiza el
número más frecuente en A y su frecuencia máxima. Finalmente, la función devuelve el número
que ocurre más en A.
Se crea un HashMap llamado frecuencias que almacenará las frecuencias de los números en el
arreglo A. La clave del HashMap es el número y el valor es la frecuencia del número.
Se inicializan dos variables: maxFrecuencia con valor cero, que se utilizará para guardar la
frecuencia máxima encontrada hasta el momento, y numMasFrecuente con valor -1, que se
utilizará para guardar el número que más veces se repite hasta el momento.
Se inicia un ciclo for que recorre cada elemento del arreglo A. Se guarda en la variable num el
número actual y se inicializa la variable frecuencia con valor 1, que se utilizará para contar las
frecuencias de num.
Se verifica si la frecuencia actual de num es mayor que la frecuencia máxima encontrada hasta el
momento (maxFrecuencia). Si es así, se actualiza la frecuencia máxima (maxFrecuencia) y el
número que más veces se repite (numMasFrecuente).
Al final del ciclo for, se retorna el número que más veces se repite en el arreglo A.
La función InsertionOrt toma una matriz de enteros como entrada y ordena sus elementos
mediante el algoritmo de ordenación por inserción. La complejidad algorítmica de esta
implementación es O(n^2) en el peor de los casos.