SlideShare una empresa de Scribd logo
1 de 34
OBJETIVOS
Después de la búsqueda investigativa la idea central es:
 Definir los conceptos preliminares del ordenamiento de datos.
 Conocer algoritmos basados en el intercambio de elementos y saber
cuál es el mejor para su uso.
 Distinguir entre los algoritmos de ordenación basados en el intercambio
e inserción.
 Definir la eficiencia de los métodos básicos de ordenación.
 Aplicar métodos más eficientes de ordenación de arrays (arreglos).
 Conocer los conceptos de ordenación Shell, Quicksort
 Diferencial entre búsqueda secuencial y búsqueda binaria.
INTRODUCCION
La información que se maneja de forma cotidiana puede ser organizada y
analizada, de tal manera que nos ofrezca una serie de alternativas para en su
momento utilizarla de forma adecuada. La idea de este tema es obtener el
mayor beneficio del análisis y concentración de toda la información investigada
y a su vez podamos hacer uso de las estructuras correctas de datos.
Los algoritmos de ordenamiento nos permiten, como su nombre lo dice,
ordenar. El propósito es facilitar la búsqueda de elementos en el conjunto
ordenado.
Existen muchos algoritmos de ordenación, siendo la diferencia entre ellos las
ventajas de unos sobre otros en la eficiencia en tiempo de ejecución.
1. CONCEPTOS PRELIMINARES
1.1 Clave
La clave es un tipo de restricción en una columna que hace que los datos que se guarden ahí tengan una
serie de características especiales, o tengan que cumplir una serie de condiciones. La clave es un
identificador del registro, es decir es un dato por el cual se identifica el registro o fila.
 Clave única: La clave única o UNIQUE hace que en la columna que la posee no pueda tener dos
datos iguales. Es decir, en cada registro, el campo marcado con UNIQUE debe tener un dato
diferente. Esto lo convierte en un identificador del registro, ya que no puede haber dos registros que
contengan el mismo dato en esa columna.
 Clave primaria: La clave primaria, o PRIMARY KEY es el verdadero identificador de cada registro.
Sólo puede haber una columna con clave primaria por tabla, y los registros deben ser también únicos,
es decir no pueden estar repetidos ni ser nulos.
1.2 Criterios de ordenamiento (o de comparación)
Búsqueda y ordenamiento constituyen dos tareas fundamentales en la administración de datos,
especialmente si se trata de grandes volúmenes. Las dos operaciones se desarrollan con base en un dato
de referencia al que comúnmente se llama clave. La búsqueda permite encontrar un elemento particular
en el conjunto, mientras que el ordenamiento consiste en ubicar los datos atendiendo a un criterio de
manera que sea más fácil encontrar el elemento que se requiere o identificar las relaciones entre los
datos.
 El número de pasos. El número de comparaciones entre llaves para ordenar n registros. Se utiliza
cuando la comparación entre llaves es costosa. El número de movimientos o intercambios de registros
que se requieren para ordenar n registros. Se usa cuando el movimiento de registros es costoso
1.3 Registro
Es un tipo de estructura que reúne datos que han sido agregados. Con este tipo de estructura lo que
hacemos es unificar un valor con otra serie de valores relacionados formando una secuencia.
2. ORDENAMIENTO DE DATOS
La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en
algún determinado orden con respecto a alguno de sus campos. Orden: Relación de una cosa con
respecto a otra. Clave: Campo por el cual se ordena. •Una lista de datos está ordenada por la clave k si
la lista está en orden con respecto a la clave anterior. Este Orden puede ser:
−Ascendente: (i<j) entonces (k[i]<=k[j])
−Descendente: (i>j) entonces (k[i]>=k[j])
Tipos de Ordenamiento:
 Ordenamiento interno: Se lleva a cabo completamente en memoria principal. Todos los objetos que se
ordenan caben en la memoria principal de la computadora (RAM).
 Ordenamiento externo: No cabe toda la información en memoria principal y es necesario ocupar
memoria secundaria. El ordenamiento ocurre transfiriendo bloques de información a memoria
principal en donde se ordena el bloque y este es regresado, ya ordenado, a memoria secundaria.
Implica el manejo de archivos
3. COMO SE SABE CUAL ES EL MEJOR ALGORITMO
La elección del mejor algoritmo para una tarea particular puede ser un proceso muy complicado y con
frecuencia conllevara un análisis matemático sofisticado. se estudia las cuestiones de análisis de
algoritmos en la cual se demuestra muchos de los algoritmos que tiene un rendimiento muy bueno,
mientras que de otros se sabe que sé que funcionan atreves de la experiencia. También se hace
resultados de rendimientos: como la meta es aprender algunos algoritmos que resuelvan tareas
importantes. Sin tener las ideas de que recursos podría consumir, se intentara precisar de qué forma se
espera que funcionen los algoritmos.
3.1 ¿Qué grado de orden tendrá la información que vas a manejar?
Si la información va a estar casi ordenada y no quieres complicarte, un algoritmo sencillo como el
ordenamiento burbuja será suficiente. Si por el contrario los datos van a estar muy desordenados, un
algoritmo poderoso como Quicksort puede ser el más indicado. Y si no puedes hacer una presunción
sobre el grado de orden de la información, lo mejor será elegir un algoritmo que se comporte de
manera similar en cualquiera de estos dos casos extremos.
3.2 ¿Qué cantidad de datos vas a manipular?
Si la cantidad es pequeña, no es necesario utilizar un algoritmo complejo, y es preferible uno de fácil
implementación. Una cantidad muy grande puede hacer prohibitivo utilizar un algoritmo que requiera de
mucha memoria adicional.
3.3 ¿Qué tipos de datos quieres ordenar?
Algunos algoritmos sólo funcionan con un tipo específico de datos (enteros, enteros positivos, etc.) y
otros son generales, es decir, aplicables a cualquier tipo de dato.
3.4 ¿Qué tamaño tiene los registros de tu lista?
Algunos algoritmos realizan múltiples intercambios (burbuja, inserción). Si los registros son de gran
tamaño estos intercambios son más lentos.
4. CONCEPTO DE ORDENACION
La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en
algún determinado orden con respecto a alguno de sus campos.
 Orden: Relación de una cosa con respecto a otra.
 Clave: Campo por el cual se ordena.
4.1 Algoritmo de ordenación básicos
Existen diferentes tipos de Algoritmos de ordenación Básicos, los más simples y clásicos son los
siguientes:
 Ordenación por intercambio
 Ordenación por selección
 Ordenación por inserción
Los más recomendados son Ordenación por selección e inserción, el de intercambio (también conocido
como burbuja) es el más sencillo pero el más ineficiente. Los datos se pueden almacenar en la memoria
central o en archivos de datos externos discos, cintas DVD, etc. Los datos se almacenan en listas y en
pequeñas cantidades se almacenen en arreglos y registros.
4.2 Ordenación por intercambio
El método de intercambio se basa en comparar los elementos del arreglo e intercambiarlos si su posición
actual o inicial es contraria inversa a la deseada.
Existen 2 versiones:
BURBUJA “Buble sort u ordenamiento por burbujeo”
Este es el método de ordenación más popular, que resulta ser al mismo tiempo el más lento e ineficaz. Este
es un método rápido, más sofisticado en su ejecución por la complejidad de las operaciones a realizar, pero
mucho más eficiente en cuanto a tiempo de ejecución.
Es la técnica "divide y vencerás", se refriere a que es más rápido y fácil ordenar dos arreglos o listas de
datos pequeños, que un arreglo o lista grande.
4.3 Ordenación por selección
Consiste en encontrar el menor de todos los elementos del vector e intercambiarlo con el que está en la
primera posición. Luego el segundo más pequeño, y así sucesivamente hasta ordenarlo todo.
4.4 Ordenación por inserción
El ordenamiento por inserción es una manera muy natural de ordenar para un ser humano, y puede
usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria.
La idea de este algoritmo de ordenación consiste en ir insertando un elemento de la lista o un arreglo en
la parte ordenada de la misma, asumiendo que el primer elemento es la parte ordenada, el algoritmo ira
comparando un elemento de la parte desordenada de la lista con los elementos de la parte ordenada,
insertando el elemento en la posición correcta dentro de la parte ordenada, y así sucesivamente hasta
obtener la lista ordenada.
4.4.1 Análisis del ordenamiento por el método de inserción
Del mismo modo que el ordenamiento por selección, el ordenamiento por inserción itera sobre los
índices del arreglo. Solo llama insert en los elementos en los índices 1, 2, 3. Así como cada llamada a
indexOfMinimum tardó una cantidad de tiempo que dependía del tamaño del subarreglo ordenado, lo
mismo pasa con cada llamada a insert. En realidad, la palabra "tarda" en el enunciado anterior debe ser
"puede tardar" y vamos a ver por qué.
4.4.2 Ventajas y desventajas
 Ordenamiento por selección: La principal ventaja de este tipo de ordenamiento es que funciona bien
con una lista pequeña. Además, debido a que es un algoritmo de ordenamiento en el lugar, no hay
almacenamiento temporal adicional más allá de lo que se necesita para mantener la lista original. La
principal desventaja de este tipo de ordenamiento es su poca eficiencia cuando se trata con una enorme
lista de elementos.
 Ordenamiento por inserción: La principal ventaja de este tipo de ordenamiento es su simplicidad.
También exhibe un buen rendimiento cuando se trabaja con una pequeña lista. El ordenamiento por
inserción es un algoritmo de ordenamiento en el lugar, de modo que requiere de espacio mínimo. Su
desventaja es que no funciona tan bien como otros algoritmos mejores de ordenamiento. Por lo tanto,
este sólo es útil cuando se ordena una lista de pocos elementos.
 Ordenamiento rápido: Este tipo de ordenamiento es considerado como el mejor algoritmo de
ordenamiento. Esto se debe a su importante ventaja en términos de eficiencia, debido a que es capaz
de tratar con una enorme lista de elementos. El leve inconveniente de este algoritmo es que su
rendimiento en el peor de los casos es similar a los rendimientos promedio del tipo de ordenamiento de
burbuja, inserción o por selección.
4.5 Ordenación por burbuja (bubblesort)
El algoritmo de ordenación de burbuja funciona intercambiando repetidamente los elementos
adyacentes que no están en orden, hasta que toda la lista de elementos esté en secuencia. De
esta manera, los elementos pueden observarse como formando burbujas en la lista según sus
valores claves.
La ventaja principal del ordenamiento de burbuja es que es muy popular y fácil de implementar.
Además, en este tipo de ordenamiento, los elementos se intercambian sin utilizar almacenamiento
temporal adicional, de modo que el espacio requerido es el mínimo. La principal desventaja es el
hecho de que no se comporta adecuadamente con una lista que contenga un número grande de
elementos.
4.5.1 Análisis del algoritmo de la burbuja
Éste es el análisis para la versión no optimizada del algoritmo:
 Estabilidad: Este algoritmo nunca intercambia registros con claves iguales. Por lo tanto,
es estable.
 Requerimientos de Memoria: Este algoritmo sólo requiere de una variable adicional para
realizar los intercambios.
 Tiempo de Ejecución: El ciclo interno se ejecuta n veces para una lista de n elementos. El
ciclo externo también se ejecuta n veces. Es decir, la complejidad es n * n = O(n2). El
comportamiento del caso promedio depende del orden de entrada de los datos, pero es
sólo un poco mejor que el del peor caso, y sigue siendo O(n2).
Ejemplo:
4 - 3 - 5 - 2 - 1
Tenemos 5 elementos. Es decir, TAM toma el valor 5. Comenzamos comparando el primero
con el segundo elemento. 4 es mayor que 3, así que intercambiamos. Ahora tenemos:
3 - 4 - 5 - 2 - 1
Ahora comparamos el segundo con el tercero: 4 es menor que 5, así que no hacemos nada.
Continuamos con el tercero y el cuarto: 5 es mayor que 2. Intercambiamos y obtenemos:
3 - 4 - 2 - 5 - 1
Comparamos el cuarto y el quinto: 5 es mayor que 1. Intercambiamos nuevamente:
3 - 4 - 2 - 1 - 5
Repitiendo este proceso vamos obteniendo los siguientes resultados:
3 - 2 - 1 - 4 - 5
2 - 1 - 3 - 4 - 5
1 - 2 - 3 - 4 - 5
4.5.2 Ventajas y desventajas
Ventajas:
 Fácil implementación.
 No requiere memoria adicional.
Desventajas:
 Muy lento.
 Realiza numerosas comparaciones.
 Realiza numerosos intercambios.
4.6 Ordenación Shell
Consiste en dividir el arreglo (o la lista de elementos) en intervalos (o bloques) de varios elementos para
organizarlos después por medio del ordenamiento de inserción directa.
4.7 Ordenación rápida (quicksort)
Es un algoritmo de ordenación considerado entre los más rápidos y eficientes. Fue diseñado
en los años 60s por C. A. R. Hoare un científico en computación.
4.7.1 Pasos que sigue el algoritmo quicksort.
Consiste en dividir el problema en pequeños
subproblemas más sencillos para luego estos ser
resueltos con un cálculo más sencillo) así crearemos
arreglos más pequeños para ordenar estos. Los pasos
que realiza este algoritmo son:
 Selecciona un valor del arreglo como pivote es decir
un numero por el cual todos los elementos van a ser
comparados.
 Se realizan dos búsquedas: una de izquierda a
derecha, buscando un elemento mayor que el pivote, y
otra de derecha a izquierda, buscando un elemento
menor que el pivote. Cuando se han encontrado los
dos, se intercambian, y se sigue realizando la
búsqueda hasta que las dos búsquedas se
encuentran.
 Luego se organizan los subarreglos que quedaron a
mano derecha y izquierda.
4.7.2 Análisis del algoritmo quicksort
El algoritmo quicksort se basa en la idea de que es más fácil ordenar una gran estructura de datos
subdividiéndolas en otras más pequeñas, con un orden relativo entre ellos.
La eficiencia de este algoritmo está determinada por la posición en la que termine el pivote elegido, en el
mejor caso el pivote termina en el centro de la lista y la divide en 2 sublistas de igual tamaño. En este
caso el orden de complejidad será O(n∙log n) y en el peor caso, el pivote termina en un extremo de la
lista y su orden de complejidad es O(𝑛2
).
 No es estable
 No requiere de memoria en forma recursiva.
 En forma iterativa necesita memoria para la pila
4.7.3 Ventajas y desventajas
Ventajas
 Rapidez, eficacia
 No requiere memoria adicional
Desventajas
 La implementación es un tanto complicada
 Recursividad (utiliza muchos recursos)
 Gran diferencia entre el mejor y peor caso.
4.8 Ordenación Binsort y Radixsort
Estos métodos utilizan casillas para depositar en ellas los registros en el proceso de ordenación. En cada
recorrido de la lista se depositan en una casilla o urna los registros cuya tienen una cierta correspondencia
con i.
Binsort
Consigue funciones de tiempo de ejecución menores de O (n log n).
El proceso consiste en examinar cada registro r a clasificar y situarlo en la urna coincidiendo i con el valor
del campo clave de r. en la mayoría de los casos es necesario guardar más de un registro en una misma
urna al tener claves repetidas, entonces estas urnas hay que concatenarlas en orden de menor índice a
mayor.
Radixsort
Se puede considerar como una generalización de la clasificación por urnas, consiste en hacer diversos
montones de fichas, cada uno caracterizado por tener un mismo dígito en la misma posición. Estos
ejemplos se recogen orden ascendente y se reparte de nuevo en montones según el siguiente dígito de
la clave.
5. BUSQUEDA DE DATOS
Un algoritmo de búsqueda de datos está diseñado
para localizar un elemento concreto dentro de una
estructura de datos. Consiste en solucionar un
problema de si existe o no un elemento determinado
dentro de la base de datos.
Este problema puede deducirse a devolver la
existencia de un número en un vector.
5.1 Búsqueda secuencial
Se utiliza cuando el contenido del vector no se
encuentra o no puede sr ordenado.
Se busca un elemento comparándolo
secuencialmente con cada elemento del arreglo
hasta encontrarlo.
No se puede asegurar que no existe hasta no
haber analizado todos los elementos del arreglo.
5.2 Búsqueda binaria
Se utiliza cuando el vector que queremos
encontrar está ordenado, este algoritmo
reduce el tiempo de búsqueda, ya que
disminuye exponencialmente con el
número de iteraciones.
Para implementar este algoritmo se
compara el elemento a buscar con un
elemento cualquiera del arreglo, si el
valor de este es mayor que el del
elemento buscado se repite el
procedimiento desde el inicio hasta
elemento tomado, en caso contrario se
toma la parte del arreglo que va desde el
elemento tomado hasta el final.
Felipe Victoria
1) En este trabajo puede concluir que en la programación nos ayuda a tener un entendimiento sobre las
funciones que representan a la hora de realizar un programa saber el tipo de algoritmo que se usa la
complejidad de las operaciones, listas que permiten almacenar, los ordenamientos de datos que
permiten clasificar estructuras de un determinado campo también aprender sobre las claves que un
identificador de registro algunas veces cumple con una serie de características especiales y que tienen
unas series de condiciones, también la búsqueda de elementos esenciales con que se puede resolver
un problema.
2) Otro aprendizaje que puedo incluir seria que buscando la información de estos concetos me ayudan a
tener una idea sobres algunos aspectos que ayudan a entender mas sobre un estudio preciso de un
algoritmo se realizar procesos hasta veces complicados se demuestra su rendimientos, como es que
funciona y que cuales son los resultados que se pueden obtener de ellos, también que es un elemento
muy importante en la programación, al emplear un algoritmo desarrollas la experiencia de cómo se
hacen comparaciones de diferentes operaciones, registros de datos y ordenamientos de bloques de
información transfiriéndose a una memoria.
Oliver Pena
1) Una de las principales conclusiones que se extraen es que un algoritmo de ordenación sea el más
rápido para cualquier conjunto de datos a ordenar, debe ser consciente tanto de la jerarquía de
memoria del computador, como del tipo, cantidad y características de los datos. En esta conclusión
entendemos ser conscientes como que el algoritmo se adapte a las características del computador y de
los datos con tal de poder explotar la localidad de éstos y / o reducir la comunicación de datos entre
procesadores. Esto no es diferente a lo que intentan hacer y concluyen otros y muchos trabajos,
aunque si es diferente la forma de conseguirlo. Nuestros algoritmos se adaptan, en tiempo de
ejecución, a las características de los datos (duplicados, con seso, etc.) para impedir la pérdida de
rendimiento de algoritmo.
2) Cada uno de los temas cubiertos en este proyecto es el contenido de varios volúmenes de material de
referencia. Al lector que desee más información debe anticiparse a que deberá ponerse a estudiar en
serio, ya que estos temas no son tan fáciles de comprender a primera vista, sino que se debe de tratar
de entender por qué ciertos algoritmos funcionan para algunas ocasiones y porque para otras
situaciones no. Cada algoritmo está implementado en C++ y C. Los programas son archivos
independientes, escritos de tal forma que puedan ser ejecutados por programas piloto para su
depuración, o puedan ser introducidos en el texto para su impresión.
Dalia Caballero
1) Damos finalización a esta presentación por el concepto de ordenación Consiste en ordenar los
elementos de una array en que sus elementos pueden estar ordenados y repetidos. Este método en lo
que se basa principalmente es en hacer sucesivas comparaciones, definiendo con anterioridad el
criterio de comparación. El algoritmo de este ordenamiento es relativamente sencillo y se adapta de
buena manera en gran cantidad de situaciones en la vida real, por ejemplo: ordenar carpetas o una
mano de naipes en el póker. Método ordenamiento por Quicksort Complejidad: Es el algoritmo de
ordenación más rápido conocido su tiempo de ejecución en promedio es de O(N Log(N)) y en el peor
de los casos se tarda O (N2). En su práctica, el hecho por el cual es el más rápido que los demás
métodos de ordenación está dado por un ciclo interno en el cual cuenta con muy pocas operaciones.
Conclusión: Luego de analizarse el método se puede ver que es uno de los mejores métodos de
ordenación, a pesar no ser tan sencilla (tampoco es tan complicada) es un algoritmo con una
estructura elegante y con buena eficiencia. Con este método queda claro que en muchas ocasiones
es mejor dividir para un óptimo desarrollo. Método de ordenamiento Mezcla: La idea de este
ordenamiento es dividir la lista a mitad de tamaño y luego tener otras sub-listas que haremos el mismo
proceso y así. Espero y les haya proporcionado información valiosa.
2) La aplicación de este ordenamiento tiene mejor rendimiento que los demás (Quicksort, selección,
etc.), aparte que usa más espacio de memoria. Conclusión: Es un ordenamiento de mayor eficiencia,
pero que ocupa más espacio de memoria y a la vez demora el tiempo de ejecución que los otros
ordenamientos mencionados. También demostró un mejor rendimiento en máquinas que se benefician
de la optimización caché. Un aprendizaje que se obtuvo al realizar esta investigación es que se conoció
cada uno de los tipos de métodos de búsqueda ya que al momento de hacer un programa extenso
podríamos utilizar algunos de estos métodos y así encontrar la información más rápida y no perder tanto
tiempo. Al comparar con las demás definiciones y funciones de cada uno de los métodos de búsqueda
pude notar que este método es más eficiente y entendible que los demás. Es algoritmo conocido como
quicksort (ordenación rápida) recibe el nombre de su autor, Tony Hoare. La idea del algoritmo es simple,
se basa en la división en particiones de la lista a ordenar, por lo que se puede considerar que aplica la
técnica divide y vencerás. El método es, posiblemente, el más pequeño de código, más rápido, más
elegante, más interesante y eficiente de los algoritmos de ordenación conocidos.
Eunice Leguias
1) En resumen, las pruebas de escritorio son importantes ya que ayudan al usuario a entender el
procedimiento y como se corre el algoritmo. En este caso el método Burbuja es excelente si trata de
un arreglo de pocos datos para el ordenamiento. Debemos recordar que el método de ordenamiento
es utilizado en la vida cotidiana por instituciones o entidades que requieren o reciben un alto
volumen de clientes y para lograr un sistema más óptimo ya sea de pedidos, entregas y envíos más
eficaces, utilizan estos tipos de métodos la cual le facilitan el manejo de dicha actividad, podemos
añadir que también lo usamos en nuestro hogar para realizar tareas múltiples o diarias que
requieren de un orden especifico con el objetivo de obtener mejores resultados.
2) En el método Quicksort el mismo consiste en tomar cualquier elemento de la lista al cual
denominaremos como pivote, dependiendo de la partición en que se elija, el algoritmo será más o
menos eficiente. Por otro lado, tenemos el algoritmo Shell sort que mejora el ordenamiento por
inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que
el elemento haga pasos más grandes hacia su posición esperada.
Javier Rodríguez
1) Puedo concluir que lo cierto es que al analizar los algoritmos quickSort cuenta que, en un principio,
QuickSort era más eficiente y más fácil de implementar. Nos dimos cuenta también la recursividad
tiene un papel muy importante sobre la complejidad de los algoritmos, ya que por cada llamada a
alguna función en el scope se generan más variables, apuntadores y valores de retorno, lo cual
hace que para un arreglo gigantesco su eficiencia se poca e inclusive se pueda comparar con
modelos tan brutos como bubbleSort.
2) Otra conclusión que puedo agregar seria en la búsqueda binaria que el método en donde se
encarga de examinar el primer elemento central de una lista y que cuando el elemento es buscado
la buscado se termina se utiliza en vectores ordenados y que también el resultado de la búsqueda
es un solo valor, y será la posición del elemento buscado o cero. Dado que el vector o arreglo no
está en ningún orden en particular, existe la misma probabilidad de que el valor se encuentra ya se
en el primer elemento, como en el último.
BIBLIOGRAFIAS
https://aprende-web.net/progra/sql/sql_6.php
file:///C:/Users/PowerPC/Desktop/2580-Texto%20del%20artículo-7644-1-10-20180822.pdf
https://www.universidadviu.com/estructura-datos-definicion-tipos-principales/
http://mapaches.itz.edu.mx/~mbarajas/edinf/Ordenamiento.pdf
https://sites.google.com/site/programacionbasicajava/algoritmos-ordenacion
http://c.conclase.net/orden/?cap=introduccion#inicio
Recuperado el 25 de junio de 2020, redactado por Joe Wandy. https://techlandia.com/ventajas-desventajas-algoritmos-ordenamiento-info_181515/
Recuperado el 25 de junio de 2020, redactado por Dartmouth Computer Science Thomas Cormen y Devin Balkcom, con el equipo de contenidos de
computación de Khan Academy. https://es.khanacademy.org/computing/computer-science/algorithms/insertion-sort/a/analysis-of-insertion-sort
Recuperado el 25 de junio de 2020, http://lwh.free.fr/pages/algo/tri/tri_insertion_es.html
Recuperado el 25 de junio de 2020, https://uniwebsidad.com/libros/algoritmos-python/capitulo-19/ordenamiento-por-seleccion
https://ronnyml.wordpress.com/2009/07/19/quicksort-en-c/
https://sites.google.com/a/uabc.edu.mx/quicksort2014-2/home/pasosalgortimo
https://books.google.nl/books?id=KUl9OqsCYOQC&amp;pg=PA147&amp;lpg=PA147&amp;dq=busqueda+de+datos+por+recursividad&amp;source=
bl&amp;ots=DaiC8rbysL&amp;sig=ACfU3U0mNNzT6FHRw2X_-tDQTyrASlq2qA&amp;hl=es
419&amp;sa=X&amp;ved=2ahUKEwjQqrrZlZ3qAhWFDuwKHWE1BLcQ6AEwAnoECAQQAQ#v=onepage&amp;q=busqueda%20de%20datos%20po
r%20recursividad&amp;f=false
https://arq232.wordpress.com/2012/08/30/algoritmo-de-ordenamiento-radix-
sort/amp/
https://tecpro-digital.com/programacion-en-c-arreglos-busqueda-secuencial/amp/

Más contenido relacionado

La actualidad más candente

ED Unidad 2: Recursividad, ordenamiento y búsqueda de datos
ED Unidad 2: Recursividad, ordenamiento y búsqueda de datosED Unidad 2: Recursividad, ordenamiento y búsqueda de datos
ED Unidad 2: Recursividad, ordenamiento y búsqueda de datosFranklin Parrales Bravo
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisionesemiru48
 
HISTORIA Y ORGANIZACIÓN BÁSICA DEL MICROCONTROLADOR.
HISTORIA Y ORGANIZACIÓN BÁSICA DEL MICROCONTROLADOR.HISTORIA Y ORGANIZACIÓN BÁSICA DEL MICROCONTROLADOR.
HISTORIA Y ORGANIZACIÓN BÁSICA DEL MICROCONTROLADOR.Juan Anaya
 
Algoritmos intercalación
Algoritmos intercalaciónAlgoritmos intercalación
Algoritmos intercalaciónPaul Arévalo
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 

La actualidad más candente (20)

Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
ED Unidad 2: Recursividad, ordenamiento y búsqueda de datos
ED Unidad 2: Recursividad, ordenamiento y búsqueda de datosED Unidad 2: Recursividad, ordenamiento y búsqueda de datos
ED Unidad 2: Recursividad, ordenamiento y búsqueda de datos
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Lista circulares doblemente enlazadas
Lista circulares doblemente enlazadasLista circulares doblemente enlazadas
Lista circulares doblemente enlazadas
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Buses normalizados
Buses normalizadosBuses normalizados
Buses normalizados
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Cuadro comparativo hilos
Cuadro comparativo hilosCuadro comparativo hilos
Cuadro comparativo hilos
 
HISTORIA Y ORGANIZACIÓN BÁSICA DEL MICROCONTROLADOR.
HISTORIA Y ORGANIZACIÓN BÁSICA DEL MICROCONTROLADOR.HISTORIA Y ORGANIZACIÓN BÁSICA DEL MICROCONTROLADOR.
HISTORIA Y ORGANIZACIÓN BÁSICA DEL MICROCONTROLADOR.
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Algoritmos intercalación
Algoritmos intercalaciónAlgoritmos intercalación
Algoritmos intercalación
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 

Similar a Recursividad, Ordenacion y Busqueda

Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++Carlos Ureña
 
Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficiosejosue23
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividadjambslide
 
Algorismos de ordenacion y busqueda
Algorismos de ordenacion  y busquedaAlgorismos de ordenacion  y busqueda
Algorismos de ordenacion y busquedabbrti
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaJosé Antonio Sandoval Acosta
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaJose Rivera
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datosRené Sosa Arana
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datosSistemasGrupo
 
Unidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUnidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUrban Skate House
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5lenithoz
 

Similar a Recursividad, Ordenacion y Busqueda (20)

Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++
 
Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficios
 
Tema5
Tema5Tema5
Tema5
 
Analisissss
AnalisissssAnalisissss
Analisissss
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividad
 
1_Metodos.doc
1_Metodos.doc1_Metodos.doc
1_Metodos.doc
 
Busqueda
BusquedaBusqueda
Busqueda
 
Algorismos de ordenacion y busqueda
Algorismos de ordenacion  y busquedaAlgorismos de ordenacion  y busqueda
Algorismos de ordenacion y busqueda
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda Binaria
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
 
Metodo de busqueda binario koby
Metodo de busqueda binario kobyMetodo de busqueda binario koby
Metodo de busqueda binario koby
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Unidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUnidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamiento
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 

Recursividad, Ordenacion y Busqueda

  • 1.
  • 2. OBJETIVOS Después de la búsqueda investigativa la idea central es:  Definir los conceptos preliminares del ordenamiento de datos.  Conocer algoritmos basados en el intercambio de elementos y saber cuál es el mejor para su uso.  Distinguir entre los algoritmos de ordenación basados en el intercambio e inserción.  Definir la eficiencia de los métodos básicos de ordenación.  Aplicar métodos más eficientes de ordenación de arrays (arreglos).  Conocer los conceptos de ordenación Shell, Quicksort  Diferencial entre búsqueda secuencial y búsqueda binaria.
  • 3. INTRODUCCION La información que se maneja de forma cotidiana puede ser organizada y analizada, de tal manera que nos ofrezca una serie de alternativas para en su momento utilizarla de forma adecuada. La idea de este tema es obtener el mayor beneficio del análisis y concentración de toda la información investigada y a su vez podamos hacer uso de las estructuras correctas de datos. Los algoritmos de ordenamiento nos permiten, como su nombre lo dice, ordenar. El propósito es facilitar la búsqueda de elementos en el conjunto ordenado. Existen muchos algoritmos de ordenación, siendo la diferencia entre ellos las ventajas de unos sobre otros en la eficiencia en tiempo de ejecución.
  • 4. 1. CONCEPTOS PRELIMINARES 1.1 Clave La clave es un tipo de restricción en una columna que hace que los datos que se guarden ahí tengan una serie de características especiales, o tengan que cumplir una serie de condiciones. La clave es un identificador del registro, es decir es un dato por el cual se identifica el registro o fila.  Clave única: La clave única o UNIQUE hace que en la columna que la posee no pueda tener dos datos iguales. Es decir, en cada registro, el campo marcado con UNIQUE debe tener un dato diferente. Esto lo convierte en un identificador del registro, ya que no puede haber dos registros que contengan el mismo dato en esa columna.  Clave primaria: La clave primaria, o PRIMARY KEY es el verdadero identificador de cada registro. Sólo puede haber una columna con clave primaria por tabla, y los registros deben ser también únicos, es decir no pueden estar repetidos ni ser nulos.
  • 5. 1.2 Criterios de ordenamiento (o de comparación) Búsqueda y ordenamiento constituyen dos tareas fundamentales en la administración de datos, especialmente si se trata de grandes volúmenes. Las dos operaciones se desarrollan con base en un dato de referencia al que comúnmente se llama clave. La búsqueda permite encontrar un elemento particular en el conjunto, mientras que el ordenamiento consiste en ubicar los datos atendiendo a un criterio de manera que sea más fácil encontrar el elemento que se requiere o identificar las relaciones entre los datos.  El número de pasos. El número de comparaciones entre llaves para ordenar n registros. Se utiliza cuando la comparación entre llaves es costosa. El número de movimientos o intercambios de registros que se requieren para ordenar n registros. Se usa cuando el movimiento de registros es costoso 1.3 Registro Es un tipo de estructura que reúne datos que han sido agregados. Con este tipo de estructura lo que hacemos es unificar un valor con otra serie de valores relacionados formando una secuencia.
  • 6. 2. ORDENAMIENTO DE DATOS La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en algún determinado orden con respecto a alguno de sus campos. Orden: Relación de una cosa con respecto a otra. Clave: Campo por el cual se ordena. •Una lista de datos está ordenada por la clave k si la lista está en orden con respecto a la clave anterior. Este Orden puede ser: −Ascendente: (i<j) entonces (k[i]<=k[j]) −Descendente: (i>j) entonces (k[i]>=k[j]) Tipos de Ordenamiento:  Ordenamiento interno: Se lleva a cabo completamente en memoria principal. Todos los objetos que se ordenan caben en la memoria principal de la computadora (RAM).  Ordenamiento externo: No cabe toda la información en memoria principal y es necesario ocupar memoria secundaria. El ordenamiento ocurre transfiriendo bloques de información a memoria principal en donde se ordena el bloque y este es regresado, ya ordenado, a memoria secundaria. Implica el manejo de archivos
  • 7. 3. COMO SE SABE CUAL ES EL MEJOR ALGORITMO La elección del mejor algoritmo para una tarea particular puede ser un proceso muy complicado y con frecuencia conllevara un análisis matemático sofisticado. se estudia las cuestiones de análisis de algoritmos en la cual se demuestra muchos de los algoritmos que tiene un rendimiento muy bueno, mientras que de otros se sabe que sé que funcionan atreves de la experiencia. También se hace resultados de rendimientos: como la meta es aprender algunos algoritmos que resuelvan tareas importantes. Sin tener las ideas de que recursos podría consumir, se intentara precisar de qué forma se espera que funcionen los algoritmos.
  • 8. 3.1 ¿Qué grado de orden tendrá la información que vas a manejar? Si la información va a estar casi ordenada y no quieres complicarte, un algoritmo sencillo como el ordenamiento burbuja será suficiente. Si por el contrario los datos van a estar muy desordenados, un algoritmo poderoso como Quicksort puede ser el más indicado. Y si no puedes hacer una presunción sobre el grado de orden de la información, lo mejor será elegir un algoritmo que se comporte de manera similar en cualquiera de estos dos casos extremos.
  • 9. 3.2 ¿Qué cantidad de datos vas a manipular? Si la cantidad es pequeña, no es necesario utilizar un algoritmo complejo, y es preferible uno de fácil implementación. Una cantidad muy grande puede hacer prohibitivo utilizar un algoritmo que requiera de mucha memoria adicional. 3.3 ¿Qué tipos de datos quieres ordenar? Algunos algoritmos sólo funcionan con un tipo específico de datos (enteros, enteros positivos, etc.) y otros son generales, es decir, aplicables a cualquier tipo de dato. 3.4 ¿Qué tamaño tiene los registros de tu lista? Algunos algoritmos realizan múltiples intercambios (burbuja, inserción). Si los registros son de gran tamaño estos intercambios son más lentos.
  • 10. 4. CONCEPTO DE ORDENACION La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en algún determinado orden con respecto a alguno de sus campos.  Orden: Relación de una cosa con respecto a otra.  Clave: Campo por el cual se ordena. 4.1 Algoritmo de ordenación básicos Existen diferentes tipos de Algoritmos de ordenación Básicos, los más simples y clásicos son los siguientes:  Ordenación por intercambio  Ordenación por selección  Ordenación por inserción Los más recomendados son Ordenación por selección e inserción, el de intercambio (también conocido como burbuja) es el más sencillo pero el más ineficiente. Los datos se pueden almacenar en la memoria central o en archivos de datos externos discos, cintas DVD, etc. Los datos se almacenan en listas y en pequeñas cantidades se almacenen en arreglos y registros.
  • 11. 4.2 Ordenación por intercambio El método de intercambio se basa en comparar los elementos del arreglo e intercambiarlos si su posición actual o inicial es contraria inversa a la deseada. Existen 2 versiones: BURBUJA “Buble sort u ordenamiento por burbujeo” Este es el método de ordenación más popular, que resulta ser al mismo tiempo el más lento e ineficaz. Este es un método rápido, más sofisticado en su ejecución por la complejidad de las operaciones a realizar, pero mucho más eficiente en cuanto a tiempo de ejecución. Es la técnica "divide y vencerás", se refriere a que es más rápido y fácil ordenar dos arreglos o listas de datos pequeños, que un arreglo o lista grande. 4.3 Ordenación por selección Consiste en encontrar el menor de todos los elementos del vector e intercambiarlo con el que está en la primera posición. Luego el segundo más pequeño, y así sucesivamente hasta ordenarlo todo.
  • 12. 4.4 Ordenación por inserción El ordenamiento por inserción es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. La idea de este algoritmo de ordenación consiste en ir insertando un elemento de la lista o un arreglo en la parte ordenada de la misma, asumiendo que el primer elemento es la parte ordenada, el algoritmo ira comparando un elemento de la parte desordenada de la lista con los elementos de la parte ordenada, insertando el elemento en la posición correcta dentro de la parte ordenada, y así sucesivamente hasta obtener la lista ordenada. 4.4.1 Análisis del ordenamiento por el método de inserción Del mismo modo que el ordenamiento por selección, el ordenamiento por inserción itera sobre los índices del arreglo. Solo llama insert en los elementos en los índices 1, 2, 3. Así como cada llamada a indexOfMinimum tardó una cantidad de tiempo que dependía del tamaño del subarreglo ordenado, lo mismo pasa con cada llamada a insert. En realidad, la palabra "tarda" en el enunciado anterior debe ser "puede tardar" y vamos a ver por qué.
  • 13. 4.4.2 Ventajas y desventajas  Ordenamiento por selección: La principal ventaja de este tipo de ordenamiento es que funciona bien con una lista pequeña. Además, debido a que es un algoritmo de ordenamiento en el lugar, no hay almacenamiento temporal adicional más allá de lo que se necesita para mantener la lista original. La principal desventaja de este tipo de ordenamiento es su poca eficiencia cuando se trata con una enorme lista de elementos.  Ordenamiento por inserción: La principal ventaja de este tipo de ordenamiento es su simplicidad. También exhibe un buen rendimiento cuando se trabaja con una pequeña lista. El ordenamiento por inserción es un algoritmo de ordenamiento en el lugar, de modo que requiere de espacio mínimo. Su desventaja es que no funciona tan bien como otros algoritmos mejores de ordenamiento. Por lo tanto, este sólo es útil cuando se ordena una lista de pocos elementos.  Ordenamiento rápido: Este tipo de ordenamiento es considerado como el mejor algoritmo de ordenamiento. Esto se debe a su importante ventaja en términos de eficiencia, debido a que es capaz de tratar con una enorme lista de elementos. El leve inconveniente de este algoritmo es que su rendimiento en el peor de los casos es similar a los rendimientos promedio del tipo de ordenamiento de burbuja, inserción o por selección.
  • 14. 4.5 Ordenación por burbuja (bubblesort) El algoritmo de ordenación de burbuja funciona intercambiando repetidamente los elementos adyacentes que no están en orden, hasta que toda la lista de elementos esté en secuencia. De esta manera, los elementos pueden observarse como formando burbujas en la lista según sus valores claves. La ventaja principal del ordenamiento de burbuja es que es muy popular y fácil de implementar. Además, en este tipo de ordenamiento, los elementos se intercambian sin utilizar almacenamiento temporal adicional, de modo que el espacio requerido es el mínimo. La principal desventaja es el hecho de que no se comporta adecuadamente con una lista que contenga un número grande de elementos.
  • 15. 4.5.1 Análisis del algoritmo de la burbuja Éste es el análisis para la versión no optimizada del algoritmo:  Estabilidad: Este algoritmo nunca intercambia registros con claves iguales. Por lo tanto, es estable.  Requerimientos de Memoria: Este algoritmo sólo requiere de una variable adicional para realizar los intercambios.  Tiempo de Ejecución: El ciclo interno se ejecuta n veces para una lista de n elementos. El ciclo externo también se ejecuta n veces. Es decir, la complejidad es n * n = O(n2). El comportamiento del caso promedio depende del orden de entrada de los datos, pero es sólo un poco mejor que el del peor caso, y sigue siendo O(n2).
  • 16. Ejemplo: 4 - 3 - 5 - 2 - 1 Tenemos 5 elementos. Es decir, TAM toma el valor 5. Comenzamos comparando el primero con el segundo elemento. 4 es mayor que 3, así que intercambiamos. Ahora tenemos: 3 - 4 - 5 - 2 - 1 Ahora comparamos el segundo con el tercero: 4 es menor que 5, así que no hacemos nada. Continuamos con el tercero y el cuarto: 5 es mayor que 2. Intercambiamos y obtenemos: 3 - 4 - 2 - 5 - 1 Comparamos el cuarto y el quinto: 5 es mayor que 1. Intercambiamos nuevamente: 3 - 4 - 2 - 1 - 5 Repitiendo este proceso vamos obteniendo los siguientes resultados: 3 - 2 - 1 - 4 - 5 2 - 1 - 3 - 4 - 5 1 - 2 - 3 - 4 - 5
  • 17. 4.5.2 Ventajas y desventajas Ventajas:  Fácil implementación.  No requiere memoria adicional. Desventajas:  Muy lento.  Realiza numerosas comparaciones.  Realiza numerosos intercambios.
  • 18. 4.6 Ordenación Shell Consiste en dividir el arreglo (o la lista de elementos) en intervalos (o bloques) de varios elementos para organizarlos después por medio del ordenamiento de inserción directa.
  • 19. 4.7 Ordenación rápida (quicksort) Es un algoritmo de ordenación considerado entre los más rápidos y eficientes. Fue diseñado en los años 60s por C. A. R. Hoare un científico en computación.
  • 20. 4.7.1 Pasos que sigue el algoritmo quicksort. Consiste en dividir el problema en pequeños subproblemas más sencillos para luego estos ser resueltos con un cálculo más sencillo) así crearemos arreglos más pequeños para ordenar estos. Los pasos que realiza este algoritmo son:  Selecciona un valor del arreglo como pivote es decir un numero por el cual todos los elementos van a ser comparados.  Se realizan dos búsquedas: una de izquierda a derecha, buscando un elemento mayor que el pivote, y otra de derecha a izquierda, buscando un elemento menor que el pivote. Cuando se han encontrado los dos, se intercambian, y se sigue realizando la búsqueda hasta que las dos búsquedas se encuentran.  Luego se organizan los subarreglos que quedaron a mano derecha y izquierda.
  • 21. 4.7.2 Análisis del algoritmo quicksort El algoritmo quicksort se basa en la idea de que es más fácil ordenar una gran estructura de datos subdividiéndolas en otras más pequeñas, con un orden relativo entre ellos. La eficiencia de este algoritmo está determinada por la posición en la que termine el pivote elegido, en el mejor caso el pivote termina en el centro de la lista y la divide en 2 sublistas de igual tamaño. En este caso el orden de complejidad será O(n∙log n) y en el peor caso, el pivote termina en un extremo de la lista y su orden de complejidad es O(𝑛2 ).  No es estable  No requiere de memoria en forma recursiva.  En forma iterativa necesita memoria para la pila 4.7.3 Ventajas y desventajas Ventajas  Rapidez, eficacia  No requiere memoria adicional Desventajas  La implementación es un tanto complicada  Recursividad (utiliza muchos recursos)  Gran diferencia entre el mejor y peor caso.
  • 22. 4.8 Ordenación Binsort y Radixsort Estos métodos utilizan casillas para depositar en ellas los registros en el proceso de ordenación. En cada recorrido de la lista se depositan en una casilla o urna los registros cuya tienen una cierta correspondencia con i. Binsort Consigue funciones de tiempo de ejecución menores de O (n log n). El proceso consiste en examinar cada registro r a clasificar y situarlo en la urna coincidiendo i con el valor del campo clave de r. en la mayoría de los casos es necesario guardar más de un registro en una misma urna al tener claves repetidas, entonces estas urnas hay que concatenarlas en orden de menor índice a mayor.
  • 23. Radixsort Se puede considerar como una generalización de la clasificación por urnas, consiste en hacer diversos montones de fichas, cada uno caracterizado por tener un mismo dígito en la misma posición. Estos ejemplos se recogen orden ascendente y se reparte de nuevo en montones según el siguiente dígito de la clave.
  • 24. 5. BUSQUEDA DE DATOS Un algoritmo de búsqueda de datos está diseñado para localizar un elemento concreto dentro de una estructura de datos. Consiste en solucionar un problema de si existe o no un elemento determinado dentro de la base de datos. Este problema puede deducirse a devolver la existencia de un número en un vector.
  • 25. 5.1 Búsqueda secuencial Se utiliza cuando el contenido del vector no se encuentra o no puede sr ordenado. Se busca un elemento comparándolo secuencialmente con cada elemento del arreglo hasta encontrarlo. No se puede asegurar que no existe hasta no haber analizado todos los elementos del arreglo.
  • 26. 5.2 Búsqueda binaria Se utiliza cuando el vector que queremos encontrar está ordenado, este algoritmo reduce el tiempo de búsqueda, ya que disminuye exponencialmente con el número de iteraciones. Para implementar este algoritmo se compara el elemento a buscar con un elemento cualquiera del arreglo, si el valor de este es mayor que el del elemento buscado se repite el procedimiento desde el inicio hasta elemento tomado, en caso contrario se toma la parte del arreglo que va desde el elemento tomado hasta el final.
  • 27.
  • 28. Felipe Victoria 1) En este trabajo puede concluir que en la programación nos ayuda a tener un entendimiento sobre las funciones que representan a la hora de realizar un programa saber el tipo de algoritmo que se usa la complejidad de las operaciones, listas que permiten almacenar, los ordenamientos de datos que permiten clasificar estructuras de un determinado campo también aprender sobre las claves que un identificador de registro algunas veces cumple con una serie de características especiales y que tienen unas series de condiciones, también la búsqueda de elementos esenciales con que se puede resolver un problema. 2) Otro aprendizaje que puedo incluir seria que buscando la información de estos concetos me ayudan a tener una idea sobres algunos aspectos que ayudan a entender mas sobre un estudio preciso de un algoritmo se realizar procesos hasta veces complicados se demuestra su rendimientos, como es que funciona y que cuales son los resultados que se pueden obtener de ellos, también que es un elemento muy importante en la programación, al emplear un algoritmo desarrollas la experiencia de cómo se hacen comparaciones de diferentes operaciones, registros de datos y ordenamientos de bloques de información transfiriéndose a una memoria.
  • 29. Oliver Pena 1) Una de las principales conclusiones que se extraen es que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser consciente tanto de la jerarquía de memoria del computador, como del tipo, cantidad y características de los datos. En esta conclusión entendemos ser conscientes como que el algoritmo se adapte a las características del computador y de los datos con tal de poder explotar la localidad de éstos y / o reducir la comunicación de datos entre procesadores. Esto no es diferente a lo que intentan hacer y concluyen otros y muchos trabajos, aunque si es diferente la forma de conseguirlo. Nuestros algoritmos se adaptan, en tiempo de ejecución, a las características de los datos (duplicados, con seso, etc.) para impedir la pérdida de rendimiento de algoritmo. 2) Cada uno de los temas cubiertos en este proyecto es el contenido de varios volúmenes de material de referencia. Al lector que desee más información debe anticiparse a que deberá ponerse a estudiar en serio, ya que estos temas no son tan fáciles de comprender a primera vista, sino que se debe de tratar de entender por qué ciertos algoritmos funcionan para algunas ocasiones y porque para otras situaciones no. Cada algoritmo está implementado en C++ y C. Los programas son archivos independientes, escritos de tal forma que puedan ser ejecutados por programas piloto para su depuración, o puedan ser introducidos en el texto para su impresión.
  • 30. Dalia Caballero 1) Damos finalización a esta presentación por el concepto de ordenación Consiste en ordenar los elementos de una array en que sus elementos pueden estar ordenados y repetidos. Este método en lo que se basa principalmente es en hacer sucesivas comparaciones, definiendo con anterioridad el criterio de comparación. El algoritmo de este ordenamiento es relativamente sencillo y se adapta de buena manera en gran cantidad de situaciones en la vida real, por ejemplo: ordenar carpetas o una mano de naipes en el póker. Método ordenamiento por Quicksort Complejidad: Es el algoritmo de ordenación más rápido conocido su tiempo de ejecución en promedio es de O(N Log(N)) y en el peor de los casos se tarda O (N2). En su práctica, el hecho por el cual es el más rápido que los demás métodos de ordenación está dado por un ciclo interno en el cual cuenta con muy pocas operaciones. Conclusión: Luego de analizarse el método se puede ver que es uno de los mejores métodos de ordenación, a pesar no ser tan sencilla (tampoco es tan complicada) es un algoritmo con una estructura elegante y con buena eficiencia. Con este método queda claro que en muchas ocasiones es mejor dividir para un óptimo desarrollo. Método de ordenamiento Mezcla: La idea de este ordenamiento es dividir la lista a mitad de tamaño y luego tener otras sub-listas que haremos el mismo proceso y así. Espero y les haya proporcionado información valiosa.
  • 31. 2) La aplicación de este ordenamiento tiene mejor rendimiento que los demás (Quicksort, selección, etc.), aparte que usa más espacio de memoria. Conclusión: Es un ordenamiento de mayor eficiencia, pero que ocupa más espacio de memoria y a la vez demora el tiempo de ejecución que los otros ordenamientos mencionados. También demostró un mejor rendimiento en máquinas que se benefician de la optimización caché. Un aprendizaje que se obtuvo al realizar esta investigación es que se conoció cada uno de los tipos de métodos de búsqueda ya que al momento de hacer un programa extenso podríamos utilizar algunos de estos métodos y así encontrar la información más rápida y no perder tanto tiempo. Al comparar con las demás definiciones y funciones de cada uno de los métodos de búsqueda pude notar que este método es más eficiente y entendible que los demás. Es algoritmo conocido como quicksort (ordenación rápida) recibe el nombre de su autor, Tony Hoare. La idea del algoritmo es simple, se basa en la división en particiones de la lista a ordenar, por lo que se puede considerar que aplica la técnica divide y vencerás. El método es, posiblemente, el más pequeño de código, más rápido, más elegante, más interesante y eficiente de los algoritmos de ordenación conocidos.
  • 32. Eunice Leguias 1) En resumen, las pruebas de escritorio son importantes ya que ayudan al usuario a entender el procedimiento y como se corre el algoritmo. En este caso el método Burbuja es excelente si trata de un arreglo de pocos datos para el ordenamiento. Debemos recordar que el método de ordenamiento es utilizado en la vida cotidiana por instituciones o entidades que requieren o reciben un alto volumen de clientes y para lograr un sistema más óptimo ya sea de pedidos, entregas y envíos más eficaces, utilizan estos tipos de métodos la cual le facilitan el manejo de dicha actividad, podemos añadir que también lo usamos en nuestro hogar para realizar tareas múltiples o diarias que requieren de un orden especifico con el objetivo de obtener mejores resultados. 2) En el método Quicksort el mismo consiste en tomar cualquier elemento de la lista al cual denominaremos como pivote, dependiendo de la partición en que se elija, el algoritmo será más o menos eficiente. Por otro lado, tenemos el algoritmo Shell sort que mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que el elemento haga pasos más grandes hacia su posición esperada.
  • 33. Javier Rodríguez 1) Puedo concluir que lo cierto es que al analizar los algoritmos quickSort cuenta que, en un principio, QuickSort era más eficiente y más fácil de implementar. Nos dimos cuenta también la recursividad tiene un papel muy importante sobre la complejidad de los algoritmos, ya que por cada llamada a alguna función en el scope se generan más variables, apuntadores y valores de retorno, lo cual hace que para un arreglo gigantesco su eficiencia se poca e inclusive se pueda comparar con modelos tan brutos como bubbleSort. 2) Otra conclusión que puedo agregar seria en la búsqueda binaria que el método en donde se encarga de examinar el primer elemento central de una lista y que cuando el elemento es buscado la buscado se termina se utiliza en vectores ordenados y que también el resultado de la búsqueda es un solo valor, y será la posición del elemento buscado o cero. Dado que el vector o arreglo no está en ningún orden en particular, existe la misma probabilidad de que el valor se encuentra ya se en el primer elemento, como en el último.
  • 34. BIBLIOGRAFIAS https://aprende-web.net/progra/sql/sql_6.php file:///C:/Users/PowerPC/Desktop/2580-Texto%20del%20artículo-7644-1-10-20180822.pdf https://www.universidadviu.com/estructura-datos-definicion-tipos-principales/ http://mapaches.itz.edu.mx/~mbarajas/edinf/Ordenamiento.pdf https://sites.google.com/site/programacionbasicajava/algoritmos-ordenacion http://c.conclase.net/orden/?cap=introduccion#inicio Recuperado el 25 de junio de 2020, redactado por Joe Wandy. https://techlandia.com/ventajas-desventajas-algoritmos-ordenamiento-info_181515/ Recuperado el 25 de junio de 2020, redactado por Dartmouth Computer Science Thomas Cormen y Devin Balkcom, con el equipo de contenidos de computación de Khan Academy. https://es.khanacademy.org/computing/computer-science/algorithms/insertion-sort/a/analysis-of-insertion-sort Recuperado el 25 de junio de 2020, http://lwh.free.fr/pages/algo/tri/tri_insertion_es.html Recuperado el 25 de junio de 2020, https://uniwebsidad.com/libros/algoritmos-python/capitulo-19/ordenamiento-por-seleccion https://ronnyml.wordpress.com/2009/07/19/quicksort-en-c/ https://sites.google.com/a/uabc.edu.mx/quicksort2014-2/home/pasosalgortimo https://books.google.nl/books?id=KUl9OqsCYOQC&amp;pg=PA147&amp;lpg=PA147&amp;dq=busqueda+de+datos+por+recursividad&amp;source= bl&amp;ots=DaiC8rbysL&amp;sig=ACfU3U0mNNzT6FHRw2X_-tDQTyrASlq2qA&amp;hl=es 419&amp;sa=X&amp;ved=2ahUKEwjQqrrZlZ3qAhWFDuwKHWE1BLcQ6AEwAnoECAQQAQ#v=onepage&amp;q=busqueda%20de%20datos%20po r%20recursividad&amp;f=false https://arq232.wordpress.com/2012/08/30/algoritmo-de-ordenamiento-radix- sort/amp/ https://tecpro-digital.com/programacion-en-c-arreglos-busqueda-secuencial/amp/