métodos de ordenamiento

Download Métodos de ordenamiento

If you can't read please download the document

Upload: tiris21

Post on 05-Aug-2015

263 views

Category:

Documents


2 download

TRANSCRIPT

4.1.Algoritmosdeordenamiento.

MTODOSDE ORDENAMIENTO YBSQUEDA

Algoritmosdeordenamiento Algoritmossimples: Burbuja Porseleccin Porinsercin

Caractersticas: Defcilcomprensin Suusopuedeserpreferibleenarchivosconpoca

informacinocasiordenados Pocosofisticados ComparativamentelentosEstructurayOrganizacindeDatos

2

Algoritmosdeordenamiento: SIMPLES Lostresalgoritmostratadosacontinuacin

conllevan2pasos,quesonejecutadosunay otravezhastaquelosdatosquedan ordenados:1. Comparardoselementos. 2. Intercambiardoselementosocopiarunode

ellos.EstructurayOrganizacindeDatos

3

SIMPLES /Burbujapublic void bubbleSort() { int out,in; for(out=nElems1;out>1;out) for(in=0;ina[in+1]) swap(in,in+1); }EstructurayOrganizacindeDatos

4

SIMPLES /Burbuja Laideaes poner elelemento ms pequeo al

principiodelarreglo (ndice cero)yelms grande alfinal(ndice nElems1). Loselementos enndices mayores que se encuentran ordenados. Lavariable semueve hacia laizquierda para cada pasada de demodo que los elementos que ya estn ordenados no participan ms enelproceso.EstructurayOrganizacindeDatos

5

SIMPLES /Seleccin Elordenamientoporseleccinmejoraalde

burbujareduciendoel (swaps)necesariosdeO(N2)toO(N). Desafortunadamente el permanece enO(N2). Sinembargo,este algoritmo an ofrece una mejora significativa para grandes registros que deben ser movidos fsicamente enmemoria, causando que eltiempo deintercambio sea muchoms importante que eltiempo de comparaciones.(Estenoes elcaso enJava, donde las referencias semueven,nolosobjetos.)EstructurayOrganizacindeDatos

6

SIMPLES /Seleccinpublic void selectionSort() { int out,in,min; for(out=0;out=rightPtr)//si lospunteros secruzan, break;//laparticinfuerealizada else }//end while(true) swap(leftPtr,right);//restablecerpivote returnleftPtr;//devolver elndice olocalizacin delpivote }//end partitionIt() 23 //nosehancruzado,entonces swap(leftPtr,rightPtr);//intercambiarelementos //encontrarelmayor while(theArray[++leftPtr]