Sei sulla pagina 1di 24

Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort

Autor: Milenka Angulo Mejía Henry Villarroel Corrales

FICHA DE IDENTIFICACION DE TRABAJO DE INVESTIGACION

TITULO: ORDENAMIENTO DE VECTORES UTILIZANDO EL METODO SELL SORT


AUTOR: ANGULO MEJIA MILENKA
VILLARROEL CORRALES HENRY
FECHA: 05/06/2016

CÓDIGO DE ESTUDIANTE: 201300483

CARRERA: INGENIERÍA EN GAS Y PETRÓLEO

ASIGNATURA: PROGRAMACIÓN I

GRUPO: C REGULAR

DOCENTE: LIC. ELIZABETH DELGADILLO CAMACHO

PERIODO ACADÉMICO: I-2016

SUBSEDE: COCHABAMBA CAMPUS UDABOL

1
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

RESUMEN:

El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos

separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más

grandes" hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños

de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento

por inserción, pero para entonces, ya está garantizado que los datos del vector están casi

ordenados, Este método es una mejora del algoritmo de ordenamiento por Inserción

(Insertsort)

Palabras claves:

ABSTRACT:

Shell sort algorithm improves insertion sort comparing separated by a space of several

positions elements. This allows an element make " bigger steps " towards its expected

position . Multiple passes over the data sizes are made with ever smaller space . The last step

of the Shell sort is a simple insertion sort , but by then , already guaranteed that vector data

are nearly sorted , This method is an improvement of insertion sort algorithm ( Insertsort )

2
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

Tabla de Contenido

1-. Introduccion ........................................................................................................................... 4


2-.Objetivos ................................................................................................................................. 5
2.1-. Objetivo general .............................................................................................................. 5
2.2-. Objetivos especificos ....................................................................................................... 5
3-.Justificacion............................................................................................................................. 6
4-.Marco teorico .......................................................................................................................... 7
5-.Marco practico....................................................................................................................... 20
6-.Concluciones ......................................................................................................................... 22
7-. Recomendaciones ................................................................................................................. 23
8-.Bibliografia ........................................................................................................................... 24

3
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

1-. Introducción

La búsqueda de soluciones a problemas que debemos enfrentar diariamente. genera ideas

acerca de como el simple hecho de producir un "hola mundo" de realizar una vasta suma,

generar una formula general desarrollar una serie operaciones matemáticas crear ciclos que

nos permitan ejecutar cualquier de acción de relacionar nuestra vida diaria con una

computadora, es tan solo un poco de todo el fascinante mundo que nos ofrece la programación

y sus innumerables aplicaciones en casos tan sencillas como en aquellas que ni siquiera se

imagina que existan.

Todo acto conlleva un proceso, es decir para poder ejecutar algo hay una serie de pasos detrás

de esta acción, los mismos que deben tener un orden lógico. el ordenamiento de datos en

programación es sin duda uno de los cimientos mas importantes que tiene esta rama de la

informática es por eso que se crean algoritmos que ayuden a nuestros programas a ser mas

eficientes. el estudio, análisis, practica y entrenamiento a fondo de estos programas mediante

el diseño de ejemplos claros que demuestran la importancia del mismo, son también los pasos

de un ingenioso proyecto que busca colarse entre una guía para el estudiante universitario

además de significar un respaldo científico en cualquier momento de consultas en la web o

representar una ayuda de estudio a quien necesite de esta información. el propósito

fundamental de este proyecto es que las personas vean que con ingenio y con materiales

simples de consulta se puede crear ideas geniales que no solo nos ayuden a nosotros sino a

4
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

cientos de personas que requieren de esta información , ya que para crear un mundo de

programación es necesario hacer conexiones , en este caso conexiones sociales.

2-. Objetivos

2.1-. Objetivo general

 elaborar un programa de ordenamiento de vectores utilizando el método sell sort.

2.2-. Objetivos específicos

 recopilar información acerca del uso de sell sort a través de consultas que ayuden a

desarrollar la investigación.

 analizar los datos obtenidos mediante comparaciones en base de información

obtenida.

 ejecutar el programa.

5
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

3-. Justificación

El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos

separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más

grandes" hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños

de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento

por inserción, pero para entonces, ya está garantizado que los datos del vector están casi

ordenados.

6
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

4-.Marco Teórico

Un programa informático o programa de computadora es una secuencia de instrucciones,

escritas para realizar una tarea específica en una computadora.1 este dispositivo requiere

programas para funcionar, por lo general, ejecutando las instrucciones del programa en un

procesador central. el programa tiene un formato ejecutable que la computadora puede utilizar

directamente para ejecutar las instrucciones. el mismo programa en su formato de código fuente

legible para humanos, del cual se derivan los programas ejecutables (por ejemplo,

compilados), le permite a un programador estudiar y desarrollar sus algoritmos. una colección

de programas de computadora y datos relacionados se conoce como software.

Generalmente, el código fuente lo escriben profesionales conocidos como programadores de

computadora. este código se escribe en un lenguaje de programación que sigue uno de los

siguientes dos paradigmas: imperativo o declarativo, y que posteriormente puede ser

convertido en un archivo ejecutable (usualmente llamado un programa ejecutable o un binario)

por un compilador y más tarde ejecutado por una unidad central de procesamiento. por otra

parte, los programas de computadora se pueden ejecutar con la ayuda de un intérprete, o

pueden ser empotrados directamente en hardware.

De acuerdo a sus funciones, los programas informáticos se clasifican en software de sistema y

software de aplicación. en las computadoras de 2015, al hecho de ejecutar varios programas de

forma simultánea y eficiente, se lo conoce como multitarea.

7
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

programación

artículo principal: programación

#include <stdio.h>

#include <conio.h>

int main(void)

printf("hola mundo!\n");

getch();

return 0;

código fuente del programa hola mundo escrito en el lenguaje de

programación c

public class helloworld {

public static void main(string[] args){

system.out.println("hola mundo!");

código fuente del programa hola mundo escrito en el lenguaje de

8
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

programación java

using system;

class program

static void main(string[] args)

console.writeline("hola mundo!");

código fuente del programa hola mundo escrito en el lenguaje de

programación c#

la programación de computadoras es el proceso iterativo de escribir o editar código fuente.

dicha edición de código fuente implica probar, analizar y perfeccionar, y, a veces, coordinar

con otros programadores, en el caso de un programa desarrollado en conjunto. una persona

que practica esta técnica se le conoce como programador de computadoras, desarrollador de

software, o codificador. el proceso, a veces a largo plazo, de programación de computadoras

normalmente se lo conoce como desarrollo de software. el término ingeniería de software se

9
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

está convirtiendo en muy popular, ya que esta actividad es vista como una disciplina de

ingeniería.

Los programas de ordenador se pueden clasificar según el paradigma del lenguaje de

programación utilizado para producirlos. dos de los principales paradigmas son imperativos y

declarativos.

Los programas escritos con un lenguaje imperativo especifican un algoritmo utilizando

declaraciones, expresiones e informes.4 una declaración asocia un nombre de variable a un

tipo de datos. por ejemplo: var x: integer; . una expresión produce un valor. por ejemplo: 2 + 2

produce 4. por último, una declaración puede asignar una expresión a una variable o usar el

valor de una variable para alterar las estructuras de control del programa. por ejemplo: x := 2 +

2; if x = 4 then hacer_algo(); una crítica de los lenguajes imperativos es el efecto secundario

de una sentencia de asignación en una clase de variables llamadas variables no locales.5

Los programas escritos en un lenguaje declarativo especifican las propiedades que tienen o

que deben cumplirse para la salida. no especifican detalles expresados en términos de flujo de

control de la máquina de ejecución pero sí de las relaciones matemáticas entre los objetos

declarados y sus propiedades. los lenguajes funcionales y lógicos son dos amplias categorías

de lenguajes declarativos. el principio detrás de los lenguajes funcionales (como haskell) es el

de no permitir efectos secundarios, lo que hace que sea más fácil para razonar sobre los

programas como si se tratasen de funciones matemáticas.5 el principio detrás de los lenguajes

10
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

lógicos (como prolog) es definir el problema a ser resuelto - la meta - y dejar la solución

detallada al propio sistema prolog.6 el objetivo se define proporcionando la lista de sub-

objetivos. luego, cada sud objetivo se define más arriba, proporcionando la lista de sus sub-

objetivos, etc. si la ruta de sub-objetivos no encuentra una solución, entonces ese sub objetivo

se retrocede y otra vía se intenta sistemáticamente.

La forma en que se crea el programa puede ser textual o visual. en un programa de lenguaje

visual, los elementos en vez de ser textualmente especificados son manipulados gráficamente

compilado o interpretando

Un programa de computadora bajo la forma de lenguaje de programación de computadoras

legible por un humano, se lo llama código fuente. dicho código fuente se puede convertir en

una imagen ejecutable por un compilador o ejecutarse inmediatamente con la ayuda de un

intérprete.

Cualquiera de los programas compilados o interpretados pueden ser ejecutados en un proceso

por lotes sin intervención humana, pero los programas interpretados le permiten al usuario

escribir comandos en una sesión interactiva. en este caso, los programas son los comandos

separados, cuya ejecución se produce secuencialmente, y por lo tanto simultáneamente.

cuando se utiliza un lenguaje para dar órdenes a una aplicación de software (como un shell de

unix u otra interfaz de línea de comandos), se le llama un lenguaje de scripts.

11
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

Los compiladores se utilizan para traducir el código fuente de un lenguaje de programación,

ya sea en código objeto o código máquina.7 el código objeto de objeto necesita procesamiento

adicional para convertirse en código máquina, y el código máquina es el código nativo de la

unidad central de procesamiento, listo para su ejecución. los programas de computadora

compilados se conocen comúnmente como ejecutables, imágenes binarias, o simplemente

como binarios — una referencia al formato de archivo binario utilizado para almacenar el

código ejecutable.

Los programas de computadora — interpretados en un lote o una sesión interactiva — o bien

se descodifican y luego ejecutados inmediatamente o se decodifican en alguna representación

intermedia eficiente para la ejecución futura. basic, perl y python son ejemplos de programas

de computadora ejecutados inmediatamente. por otra parte, los programas de computadora de

java se compilan antes de tiempo y se almacena como un código independiente de la máquina

llamado bytecode. entonces, dicho bytecode es ejecutado a petición de un intérprete llamado

máquina virtual.

La principal desventaja de los intérpretes es que los programas de computadora corren más

lento que cuando son compilados. la interpretación de código resulta más lenta que la

ejecución de la versión compilada porque el intérprete debe decodificar cada declaración cada

vez que se carga y luego realizar la acción deseada. sin embargo, el desarrollo de software

puede ser más rápido usando un intérprete porque la prueba es inmediata cuando se omite el

paso de la compilación. otra desventaja de los intérpretes es que debe estar presente al menos
12
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

uno en la computadora durante la ejecución del programa de computadora. por el contrario, los

programas de computadora compilados no necesitan compilador presente durante la ejecución.

No se requieren propiedades de un lenguaje de programación si se está compilado

exclusivamente o interpretándose exclusivamente. por lo general, la clasificación refleja el

método más popular de ejecución del lenguaje. por ejemplo, basic se considera un lenguaje

interpretado y c un lenguaje compilado, a pesar de la existencia de compiladores de basic e

intérpretes de c. algunos sistemas utilizan compilación en tiempo de ejecución (jit) mediante la

cual las secciones de la fuente se compilan 'sobre la marcha' y se almacenan para ejecuciones

posteriores. programas que se auto-modifican un programa informático en ejecución

normalmente es tratado como algo diferente de los datos con los cuales opera. sin embargo, en

algunos casos ésta distinción es ambigua, especialmente cuando un programa se modifica a sí

mismo. el programa modificado es ejecutado secuencialmente como parte del mismo

programa. en el caso de programas escritos en código máquina, lenguaje ensamblador, lisp, c,

cobol, pl/1 y prolog y javascript (la función eval), entre otros, es posible tener código que se

auto-modifica.ejecución y almacenamiento de los programastípicamente, los programas se

almacenan en una memoria no volátil (por ejemplo un disco), para que luego el usuario de la

computadora, directa o indirectamente, solicite su ejecución. al momento de dicha solicitud, el

programa es cargado en la memoria de acceso aleatorio o ram del equipo, bajo el control del

software llamado sistema operativo, el cual puede acceder directamente al procesador. el

procesador ejecuta (corre) el programa, instrucción por instrucción hasta que termina. a un

13
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

programa en ejecución se le suele llamar también proceso. un programa puede terminar su

ejecución en forma normal o por causa de un error, dicho error puede ser de software o de

hardware.

Programas empotrados en hardware el micro controlador a la derecha de la memoria usb está

controlada por un firmware empotrado.

Algunos programas están empotrados en el hardware. una computadora con arquitectura de

programas almacenados requiere un programa inicial almacenado en su rom para arrancar. el

proceso de arranque es para identificar e inicializar todos los aspectos del sistema, desde los

registros del procesador, controladores de dispositivos hasta el contenido de la memoria ram.8

seguido del proceso de inicialización, este programa inicial carga al sistema operativo e

inicializa al contador de programa para empezar las operaciones normales. independiente de la

computadora, un dispositivo de hardware podría tener firmware empotrado para el control de

sus operaciones. el firmware se utiliza cuando se espera que el programa cambie en raras

ocasiones o nunca, o cuando el programa no debe perderse cuando haya ausencia de

energía.9programas cargados manualmente históricamente, los programas eran cargados al

procesador central de forma manual mediante interruptores. una instrucción se representaba

por una configuración de estados de interruptores de abierto o cerrados. después de establecer

la configuración, se ejecutaba un botón de ejecución. este proceso era repetitivo. asimismo, los

programas se cargaban manualmente mediante una cinta de papel o tarjetas perforadas.

después de que se cargaba el programa, se establecía la dirección de inicio mediante


14
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

interruptores y se presionaba el botón de ejecución. programas generados automáticamente la

programación automática es un estilo de programación que crea código fuente mediante clases

genéricas, prototipos, plantillas, aspectos, y generadores de código para aumentar la

productividad del programador. el código fuente se genera con herramientas de programación

tal como un procesador de plantilla o un ide. la forma más simple de un generador de código

fuente es un procesador macro, tal como el preprocesador de c, que reemplaza patrones de

código fuente de acuerdo a reglas relativamente simples.

Un motor de software da de salida código fuente o lenguaje de marcado que simultáneamente

se vuelve la entrada de otro proceso informático. podemos pensar como analogía un proceso

manejando a otro siendo el código máquina quemado como combustible. los servidores de

aplicaciones son motores de software que entregan aplicaciones a computadoras cliente. por

ejemplo, un software para wikis es un sevidor de aplicaciones que permite a los usuarios

desarrollar contenido dinámico ensamblado a partir de artículos. las wikis generan html, css,

java, y javascript los cuales son interpretados por un navegador web.ejecución

simultáneamuchos programas pueden ejecutarse simultáneamente en la misma computadora,

hecho al cual se lo conoce como multitarea, pudiéndose lograr mediante mecanismos de

software o de hardware. los sistemas operativos modernos pueden ejecutar varios programas a

través del planificador de procesos — un mecanismo de software para conmutar con

frecuencia la cantidad de procesos del procesador de modo que los usuarios puedan interactuar

con cada programa mientras estos están corriendo.11 también se puede lograr la multitarea por

15
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

medio del hardware; las computadoras modernas que usan varios procesadores o procesadores

con varios núcleos pueden correr muchos programas a la vez. categorías funcionales los

programas se pueden categorizar aplicando criterios funcionales. estas categorías funcionales

son software de sistema y software de aplicación. el software de sistema incluye al sistema

operativo el cual acopla el hardware con el software de aplicación.13 el propósito del sistema

operativo es proveer un ambiente en el cual el software de aplicación se ejecuta de una manera

conveniente y eficiente.13 además del sistema operativo, el software de sistema incluye

programas utilitarios que ayudan a manejar y configurar la computadora. si un programa no es

software de sistema entonces es software de aplicación. el middleware también es un software

de aplicación que acopla el software de sistema con la interfaz de usuario. también son

software de aplicación los programas utilitarios que ayudan a los usuarios a resolver

problemas de aplicaciones, como por ejemplo la necesidad de ordenamiento.

la estructura de un programa en java java es un lenguaje orientado a objetos. así que un

programa en ese lenguaje es una colección de clases. por ahora puede pensar en una clase

como una estructura (struct o record) que contiene funciones además de variables. a una

función que pertenece a una clase se la llama un método. lo que conocemos como programa

principal, es decir, por donde comienza a ejecutar un programa, es el método llamado main()

de alguna de las clases. note que esto implica que sólo una de las clases podrá tener definida

un método main()

16
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

note que en el ejemplo del programa hola.java se define la clase holajava con el método

main(). el método main() es de tipo public static void queriendo decir que se puede llamar a la

función desde fuera de la clase, que solo habra una instancia de la función y que no devolverá

valor. pronto veremos qué quiere decir esto además de ejemplos más complicados.

java fué diseñado con el objetivo principal de ser exportable a través de redes y ejecutado

en la máquina local. esto casi necesariamente implica que, por motivos de seguridad y

portabilidad, el lenguaje deba correrse por un intérprete y que nunca haga acceso directo a los

recursos de la máquina, en especial a su memoria principal.

ejercicio determine cual será el producto de este programa y luego ejecútelo para verificar su

predicción.

//====================== ejemplito ===================================

class ej2f{ // los nombres de las clases suelen comenzar con mayuscula

int x = 4, y = 8; // variables (campos)

int funcioncita(int x){ // funcion (metodo)

system.out.println(x);

system.out.println(this.x);

system.out.println(y);

system.out.println(this.y);

return x + this.x + y;
17
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

//============================================================

public class ej2{

public static void main(string args[]) {

ej2f objetillo = new ej2f(); // declara y crea objeto

system.out.println("hola otra vez...");

system.out.println(objetillo.funcioncita(3));

Ordenamiento de Shell Sort:

El ordenamiento shell (shell sort en inglés) es un algoritmo de ordenamiento. el método se

denomina shell en honor de su inventor donald shell. su implementación original, requiere

o(n2) comparaciones e intercambios en el peor caso. un cambio menor presentado en el libro

de v. pratt produce una implementación con un rendimiento de o(n log2 n) en el peor caso. esto

es mejor que las o(n2) comparaciones requeridas por algoritmos simples pero peor que el

óptimo o(n log n). aunque es fácil desarrollar un sentido intuitivo de cómo funciona este

algoritmo, es muy difícil analizar su tiempo de ejecución.

18
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

el shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta dos

observaciones:

1. el ordenamiento por inserción es eficiente si la entrada está "casi ordenada".

2. el ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo

una posición cada vez.

el algoritmo shell sort mejora el ordenamiento por inserción comparando elementos

separados por un espacio de varias posiciones. esto permite que un elemento haga "pasos más

grandes" hacia su posición esperada. los pasos múltiples sobre los datos se hacen con tamaños

de espacio cada vez más pequeños. el último paso del shell sort es un simple ordenamiento por

inserción, pero para entonces, ya está garantizado que los datos del vector están casi

ordenados.

19
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

5-.Marco Práctico

El shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta dos

observaciones: el ordenamiento por inserción es eficiente si la entrada está "casi ordenada". el

ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo una

posición cada vez. el algoritmo shell sort mejora el ordenamiento por inserción comparando

elementos separados por un espacio de varias posiciones. esto permite que un elemento haga

"pasos más grandes" hacia su posición esperada. los pasos múltiples sobre los datos se hacen

con tamaños de espacio cada vez más pequeños. el último paso del shell sort es un simple

ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector

están casi ordenados.

public static void shellsort(int[] matrix) {


for ( int increment = matrix.length / 2;increment > 0;
increment = (increment == 2 ? 1 : (int) math.round(increment /
2.2))) {
for (int i = increment; i < matrix.length; i++) {
for (int j = i; j > = increment && matrix[j - increment] >
matrix[j]; j -= increment) {
int temp = matrix[j];
matrix[j] = matrix[j - increment];
matrix[j - increment] = temp;
}
}
}
}

20
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

ordenamiento de disminución incremental. ordena subgrupos de elementos separados k

unidades (respecto de su posición en el arreglo) del arreglo original. el valor k es llamado

incremento. después de que los primeros k subgrupos han sido ordenados (generalmente

utilizando insercion directa), se escoge un nuevo valor de k más pequeño, y el arreglo es de

nuevo partido entre el nuevo conjunto de subgrupos. cada uno de los subgrupos mayores es

ordenado y el proceso se repite de nuevo con un valor más pequeño de k.eventualmente el

valor de k llega a ser 1, de tal manera que el subgrupo consiste de todo el arreglo ya casi

ordenado. al principio del proceso se escoge la secuencia de decrecimiento de incrementos; el

último valor debe ser 1. "es como hacer un ordenamiento de burbuja pero comparando e

intercambiando elementos." cuando el incremento toma un valor de 1, todos los elementos

pasan a formar parte del subgrupo y se aplica inserción directa. el método se basa en tomar

como salto n/2 (siendo n el número de elementos) y luego se va reduciendo a la mitad en cada

repetición hasta que el salto o distancia vale 1.

• este método es una mejora del algoritmo de ordenamiento porinserción(insertsort).

• si tenemos en cuenta que el ordenamiento porinserciónes mucho mas eficiente

sinuestralista de numeros esta semi-ordenada y que desplaza un valor una unica

posicióna la vez.

• durante la ejecución de este algoritmo, los números de la lista se van casi-ordenando y

finalmente, el ultimo pasoo función de este algoritmo es un simple método por

inserción que, al estar casi-ordenados los números, es más eficiente.


21
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

6-.concluciones

 mediante la operación de ordenación. el trabajo de arreglo de datos facilita reduciendo

métodos extremadamente largos en simples funciones que le da al programa para este

tipo de trabajos.

 sell sort es una herramienta que busca que los programadores vean opciones claras al

momento de realizar ordenación de datos.

 se comprueban que además de los otros algoritmos de ordenamiento sell sort resulta

siendo el mas velos al almacenamiento de ser ejecutado.

22
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

7-. Recomendaciones

 A través de nuestra investigación acerca de este método de ordenamiento podemos

recomendar a los usuarios que utilicen este tipo de programación ya que es mas

sencillo de programar a comparación de los demás métodos como lo son el quink sort,

insert sort, etc.

 Otra recomendación para los usuarios es que con el método del sell sort podemos

entender de mejor manera de como hacer una ordenación dentro de un arreglo de datos

ya sea en enteros u otro tipo de datos.

 Por ultimo nuestro equipo de trabajo recomienda este método de ordenación para

aquellos usuarios que no han entendido claramente de ordenar ya sea objetos o tipos de

datos dentro de un arreglo ya que con este método se ahorraría un poco de tiempo y se

entenderá mejor lo que desea trabajar.

23
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo
Titulo: Ordenamiento De Vectores Utilizando El Metodo Sell Sort
Autor: Milenka Angulo Mejía Henry Villarroel Corrales

8-.BIBLIOGRAFIA

 http://iutprogramacion.blogspot.com/2013/02/metodos-de-ordenamiento.html

 http://www.galeon.com/estructuras/4CUARTO.ht

 https://www.youtube.com/watch?v=gd7DT-4jjzQ

 https://www.google.com.bo/search?q=concluciones+e+ordenamiento+de+vectores&aq=f&oq=

concluciones+e+ordenamiento+de+vectores&aqs=chrome.0.57.24937&sourceid=chrome&ie=

UTF-8#q=conclusiones+metodos+de+ordenamiento+de+vectores+en+java

 http://mis-algoritmos.com/

 https://es.wikipedia.org/wiki/Ordenamiento_Shell

 http://es.slideshare.net/lalo088/metodos-de-ordenamiento-9582841

 http://ejerciciosresueltosdecsharp.blogspot.com/2014/04/metodo-de-ordenamiento-shell-sort-

en-c-sharp.html

 https://www.google.com.bo/search?q=conclusiones+metodos+de+ordenamiento+de+vectores

+en+java&biw=1024&bih=677&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjbqJONt4TNAh

UBXh4KHetrAkoQ_AUIBygC#imgrc=pB73RFCxdsp0IM%3A

24
Asignatura: Programación I
Carrera: Ingeniería en gas y petróleo