Cómo resolver este problema de matrices en programación en C

Esto es equivalente a encontrar el kth elemento mínimo en una matriz sin clasificar.
Como otros señalaron, puede modificar el algoritmo de clasificación rápida para obtener la solución.
Aquí está la solución en C

  intercambio nulo (int & a, int & b) {
	 int temp = a;
	 a = b;
	 b = temp;
 }
 partición int (int arr [], int low, int high) {
	 int izquierda, derecha, pivote;
	 int r = bajo + (rand ()% (alto-bajo + 1));
	 swap (arr [r], arr [bajo]);
	 pivote = arr [bajo];
	 izquierda = bajo;
	 derecho = alto;
	 while (izquierda <derecha) {
		 while (arr [izquierda]  pivote)
		        Derecha--;
	    si (izquierda  k-1) {
			 alto = índice-1;
			 índice = partición (arr, bajo, alto);

		 }
		 más{
			 bajo = índice + 1;
			 índice = partición (arr, bajo, alto);
		 }
	 }

	    printf ("% d", arr [k-1]);
 }
 int main () {
	 int arr [] = {34,1,2,89,56,23,5,6,3,100,90};
	 // k denota el elemento mínimo que se debe encontrar
	 int k = 6;
	 printf ("Encontrando los elementos mínimos% dth ...", k);	
	 selección rápida (arr, 11, k);

 }

También puedes hacerlo de la siguiente manera:
1. Primero encuentre el elemento indexado, es decir, el número en el índice dado
2. Luego compare ese número con todos los números que comienzan desde el índice 0 y cuente los números que son más pequeños que él y el valor del contador será el índice en un conjunto ordenado

Espero que esto ayude …

Bastante simple. No explicaré cada paso, solo la esencia de la solución. Entonces, lo que está pidiendo se le da un índice de un elemento en la matriz no clasificada, necesitamos encontrar el índice del elemento en la matriz ordenada. Si lo piensa, la rutina de partición en el algoritmo Quicksort hace exactamente esto, es decir, dado un pivote, la rutina de partición coloca el pivote en su posición “correcta” en la matriz. No se requiere espacio adicional y la complejidad del tiempo es lineal en el número de elementos de la matriz sin clasificar. Espero que esto ayude.

More Interesting

Dado un volumen que consiste en un número de ubicaciones dentro de un espacio tridimensional definido, y a cada una de estas ubicaciones se le asigna algún número, ¿hay alguna métrica obvia que se pueda aplicar que mida la complejidad de la distribución de las mediciones?

¿Qué método es el más adecuado para resolver problemas de programación de enfermería, programación dinámica o algoritmos genéticos, y por qué?

Cómo convertirse en un maestro en programación dinámica

Cómo hacer un sitio web que contenga algoritmos

¿Crees que KNN tiene privilegios en comparación con otros algoritmos de aprendizaje automático porque aprende con el tiempo?

Cómo insertar un valor al final de una lista vinculada

¿Cuáles son los mejores libros para aprender estructuras de datos y algoritmos para un principiante con poco lenguaje de programación de C?

Cómo analizar la complejidad temporal del algoritmo MST de prims

¿Cómo funciona el algoritmo de recomendación de películas de Netflix?

¿Qué algoritmos funcionan detrás de los botones de seguir de Quora e Instagram?

Cómo demostrar que el camino más corto posible entre dos puntos es una línea recta

¿Cuáles son todas las áreas donde las estructuras de datos se aplican en escenarios del mundo real?

¿Por qué la clasificación rápida se considera una clasificación inestable?

En los términos más simples, ¿qué es un algoritmo? ¿Cual es su propósito?

¿Cómo funciona el algoritmo de Youtube en términos de tendencias de un video?