Cómo obtener el índice de clasificación de matriz

Gracias por A2A, Dan Stw

El problema se puede simplificar a la clasificación de 1 a n (o de 0 a n-1) con la clave para ordenar como una matriz dada. Por lo tanto, debe ordenar la tupla donde cada elemento tiene la forma (matriz [i], i) con el elemento clave como primero.

Si ‘Array’ es la matriz dada e ‘index’ es la matriz requerida, entonces el código C ++ debería verse así:

std :: vector Matriz;


std :: vector <std :: pair > temp (Array.size ());
para (int i = 0; i <Array.size (); i ++)
temp [i] = {Array [i], i}; // Si quieres responder en el rango de 1 a n, entonces pon temp [i] = {Array [i], i + 1};

std :: sort (temp.begin (), temp.end ());

std :: vector index (Array.size ());
for (int i = 0; i <temp.size (); i ++)
índice [i] = temp [i] .second;

Y ya terminaste con esto.

Gracias por el A2A.

Aquí está la versión de Java .:

Map map = new TreeMap ();

for (int i = 0; i

map.put (matriz [i], i);

}

Colección indices = map.values ​​();

System.out.println (índices);

Contestaré tu pregunta usando Python:

Este es el código: –

aList = [5,4,9,1]
>>> ordenado (aList)
[1, 4, 5, 9]
>>> ordenado (rango (len (aList)), clave = aList .__ getitem__)
[3, 1, 0, 2]

He definido una lista aList, que es como una matriz. sorted () es una función que devuelve la lista ordenada. La proxima linea

ordenado (rango (len (aList)), clave = aList .__ getitem__)

puede desglosarse como:

sorted () toma dos entradas a. números a ordenar; si. clave en la que tiene que ser ordenado. Por defecto, la tecla ordena el número en orden ascendente

Ahora, profundicemos en el código:

len (aList) = no. de elementos en la lista -> 4

rango (n) toma no. de 0 a n-1 es decir, 0,1,2,3

aList .__ getitem__ Esto obtendrá valores, es decir, 5,4,9,1

Después de ejecutar esta línea, la lista se ordena y se imprime el índice correspondiente del valor

[3,1,0,2]

Espero que esto sea suficiente tu consulta 🙂

More Interesting

¿Cuál es un buen algoritmo para generar un archipiélago en un mapa en particular?

¿Puedo obtener una breve descripción general del documento 'Generación precisa de hologramas utilizando el método basado en capas y el algoritmo de transformación de Fourier iterativo'?

¿Cuál es la diferencia entre la recursión normal y la recursiva de la cola con ejemplos?

¿Podemos resolver este problema SPOJ.com - Problema PT07Z de esta manera?

¿Cuáles son los mini proyectos que se pueden hacer en el algoritmo para el procesamiento de imágenes y videos?

Cómo implementar un algoritmo de programación de disco C-SCAN para encontrar su tiempo de búsqueda

¿Qué es un algoritmo de CTA?

¿Qué temas principales debería discutir en mi presentación de 50 minutos sobre aprendizaje automático y robótica?

¿Qué consejo le da Ashish Kedia al estudiante de ingeniería de software de último año que no es un buen programador para convertirse en un gran ingeniero? Aprobé las asignaturas, pero no tomé ninguna clase de algo, y mis habilidades para resolver problemas son bajas.

¿Cuál es la importancia del algoritmo en informática?

¿Cuál es el mejor algoritmo para un conjunto de datos con muchas características correlacionadas, débiles y ruidosas?

¿Cómo se realiza la detección en el procesamiento de imágenes?

¿Puede un gráfico ser un circuito de Euler y una ruta al mismo tiempo?

¿Cuáles son las condiciones previas de la búsqueda binaria y qué papel desempeñan?

Digamos que encontramos un algoritmo que resuelve problemas de NP-Complete en tiempo polinómico pero no podemos probarlo. ¿Cuáles serían las consecuencias?