Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

ORDENAMIENTO POR INSERCIÓN DIRECTA

Análisis de Algoritmos
by

Nahum Orellana

on 28 September 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of ORDENAMIENTO POR INSERCIÓN DIRECTA

Camilo Martínez
Oscar Coloma
Nahúm Orellana ORDENAMIENTO POR INSERCIÓN DIRECTA OBJETIVOS Conocer la descripción del
método de ordenación Tener en cuenta que los datos a clasificar son considerados uno a la vez, es por eso que cada elemento se coloca en la posición correspondiente con respecto a los demás valores que ya se encuentran ordenados. Analizar el orden de tiempo
de ejecución del mismo, es decir su complejidad y analizar cuál sería el mejor y el peor caso del algoritmo en ejecución. DESARROLLO Se analizará el problema de ordenar elementos sobre los cuales se puede establecer una relación de orden.
Es por esta razón que el propósito de la exposición es aprender como funciona este método de ordenamiento de inserción directa de una forma sencilla, práctica y a la vez didáctica. Los algoritmos de este
documento serán
escritos en Java y en Ruby. Se supondrá por simplicidad que los datos aceptan el uso de
operadores "<" y ">".
Si bien esto no será así en la práctica, no perderemos generalidad.
La estrategia para establecer un orden entre los elementos dependerá de
la tecnología que usemos para implementar el algoritmo de ordenación. ALGORITMO Este algoritmo fue realizado en Neatbeans,
específicamente en lenguaje ruby. v=[34,2,1,2,34,3,44,44433,1111,222,3,0,8,7,5,3,1234,2,311233,7654]
for j in 1...v.size
aux= v[j]
i = j - 1
while i >= 0 and v[i] > aux
v[i + 1] = v[i]
i = i - 1
j=j+1
end
v[i + 1] =aux
end
print "numero de elementos del vector=#{j}\n"
print "el array ordenado es:\n"
for m in 0...v.size
print "#{v[m]}\n"
end COMPLEJIDAD Este algoritmo es estable en su ordenación interna. Tiene como complejidad en el peor de los casos de O(n^2) y en el mejor de los casos en O(n) ésto se da en el caso que el array este ordenado. CONCLUSIÓN El algoritmo de ordenación por el método de inserción directa es un algoritmo 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 poker. Consiste en ordenar los elementos de una array en que su elementos pueden estar desordenados, ordenados y repetidos.
Este método en lo que se basa principalmente en hacer sucesivas comparaciones, definiendo con anterioridad el criterio de comparación. Este algoritmo pertenece a una serie de métodos de ordenación básicos junto al método Bubblesort y Selectionsort de estos algoritmos el de inserción es el que muestra mejores resultados Camilo Martínez
Oscar Coloma
Nahúm Orellana ORDENAMIENTO POR INSERCIÓN DIRECTA
Full transcript