Contenido principal
Ciencias de la computación
Curso: Ciencias de la computación > Unidad 1
Lección 5: Ordenamiento por inserciónPseudocódigo del ordenamiento por inserción
Ahora que sabes cómo insertar un valor en un subarreglo ordenado, puedes implementar el ordenamiento por inserción:
- Llama
insert
para insertar el elemento que comienza en el índice 1 en el índice 0 del subarreglo ordenado. - Llama
insert
para insertar el elemento que comienza en el índice 2 en los índices del 0 al 1 del subarreglo ordenado . - Llama
insert
para insertar el elemento que comienza en el índice 3 en los índices del 0 al 2 del subarreglo ordenado . - …
- Por último, llama
insert
para insertar el elemento que comienza en el índice n, minus, 1 en los índices del 0 al n, minus, 2 del subarreglo ordenado.
Como un recordatorio, aquí está la visualización paso a paso del algoritmo sobre un mazo de cartas:
Este contenido es una colaboración de los profesores de Dartmouth Computer Science Thomas Cormen y Devin Balkcom, con el equipo de contenidos de computación de Khan Academy. El contenido está bajo licencia CC-BY-NC-SA.
¿Quieres unirte a la conversación?
- la palabra insert se le podria decir que es la clave para la aplifcacion(3 votos)
- no puede pasar el otro desafio AYUDA(2 votos)
- var insert = function(array, rightIndex, value) {
for(var j = rightIndex;
j >= 0 && array[j] > value;
j--) {
array[j + 1] = array[j];
}
array[j + 1] = value;
};
var insertionSort = function(array) {
for (var i = 1;i < array.length; i++) {
insert(array, i - 1, array[i]);
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
insertionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);
var array = [15, 40, 1, 52, 8, 7, -42, 99];
insertionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [-42, 1, 7, 8, 15, 40, 52, 99]);(2 votos)
- var insert = function(array, rightIndex, value) {
for(var j = rightIndex;
j >= 0 && array[j] > value;
j--) {
array[j + 1] = array[j];
}
array[j + 1] = value;
};
var insertionSort = function(array) {
for (var i = 1;i < array.length; i++) {
insert(array, i - 1, array[i]);
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
insertionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);
var array = [15, 40, 1, 52, 8, 7, -42, 99];
insertionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [-42, 1, 7, 8, 15, 40, 52, 99]);(1 voto)
- no puedo pasar el otro desafio !AYUDA¡(2 votos)
- var insert = function(array, rightIndex, value) {
for(var j = rightIndex;
j >= 0 && array[j] > value;
j--) {
array[j + 1] = array[j];
}
array[j + 1] = value;
};
var insertionSort = function(array) {
for (var i = 1;i < array.length; i++) {
insert(array, i - 1, array[i]);
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
insertionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);
var array = [15, 40, 1, 52, 8, 7, -42, 99];
insertionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [-42, 1, 7, 8, 15, 40, 52, 99]);(4 votos)
- este depende del ordenamiento pero tambien se puede digamos sumarlo o multiplicarlo(0 votos)
- que es Pseudocódigo del ordenamiento por inserción?(0 votos)
- ¿Por que en el anterior desafió no dejan adelantar al otro paso?(3 votos)