1 / 15

Metodos de ordenacion en c++

c++

Download Presentation

Metodos de ordenacion en c++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Métodos De Ordenación y Búsqueda

  2. Ordenación Definición: • Es una operación que consiste en disponer un conjunto de estructuras de datos en algún determinado orden con respecto a uno de los campos de elementos del conjunto Ejemplos un lista de clientes una lista de piezas

  3. Colección de datos Definición Una colección de datos clasificados se pueden almacenar en un archivo, vector o tabla, una lista enlazada o árbol • Una lista enlazada tiene un conjunto de nodos, los cuales almacenan 2 tipos de información: El dato que contienen y un puntero al siguiente nodo en la lista. El último nodo de la lista tiene como siguiente nodo el valor NULL.

  4. Clasificación de Ordenación • Interna Arreglo Lista enlazada árbol • Externa Archivo Cintas Dispositivos electrónicos

  5. Concepto de Árbol • Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. Árbol • Definiremos varios conceptos. En relación con otros nodos: • Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol. • Nodo padre: nodo que contiene un puntero al nodo actual. • Nodo raíz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al árbol. • Nodo hoja: nodo que no tiene hijos.

  6. Clasificación de las listas Las listas pueden estar ordenada en formas ascendente o descendente. Ejemplos Números: 14-4-32-21-45-5 A:4-5-14-21-32-45 D:45-32-21-14-5-4 Ejemplos Letras: Rojas, Del Valle,Flores,Zacarias A: D:

  7. Métodos de Ordenación Básicos Los métodos básicos de ordenación más simples son • Ordenación por Selección • Ordenación por Inserción • Ordenación por Burbuja

  8. Ordenación por Selección • Seleccionar el elemento menor dentro de nuestro conjunto • Intercambiar dicho elemento con el primer elemento de nuestro conjunto • X [5]: Indices 0 1 2 3 4 • Indices x[0]>x[1] • X [5]: • Indices x[0]>x[2]

  9. Ordenación por Selección • X[5]: • 0 1 2 3 4 • Indices x[0]>x[3] • X[5]: • 0 1 2 3 4 • Indices x[0]>x[4] • X[5]: • Cantidad de comparaciones,intercambio,recorridos.

  10. Pseudocódigo Para i=1 hasta n-1 para j=i+1 hasta n si x[i] >x[j] entonces temp=x[i] x[i]=x[j] x[j]=temp fin si fin para fin para

  11. Código en Lenguaje C Selección( int n , A[]) { int i,j, tmp; For ( i=0 ; 1<n-1 ; 1++) { For( j=i+1 ; j<n ; j++) If (x[i]>x[j]) { tmp=x[i]; x[i]=x[j]; x[j]=tmp; } } }

  12. Ejercicios • El arreglo a ordenar es a = ['a','s','o','r','t','i','n','g','e','x','a','m','p','l','e'].

  13. Ordenación por Inserción • Este método consiste en insertar un elemento en el vector en una parte ya ordenada de este vector y comenzara de nuevo con los elementos restantes. también se conoce como método de la baraja. • Y[6]: Índice 0 1 2 3 4 5

  14. Ordenamiento Burbuja • Comparar elementos consecutivos en cada paso a lo largo del arreglo.Cada vez que se realiza una comparación, los elementos se intercambian entre si en caso de no estar en orden.Se le llama de burbuja, porque en la ordenación los elementos mas ligeros suben en la lista. Se pasa varias veces a través del arreglo en forma secuencial.Cada paso consiste en la comparación de cada elemento con su sucesor, y el intercambio de los dos elementos si no están en el orden correcto.

  15. #include<stdio.h> #include<conio.h> intmain() { printf("ingrese el valor de n\n"); scanf("%d",n); //ingreso de valores al arreglo for(i=0;i<n-1;i++) { prinft("ingrese valores al arreglo\n"); scanf("%d",&a[i]); } //fin de ingreso de valores al arreglo //inicio del método de la burbuja for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(a[i]>a[j]) { aux=a[i]; a[i]=a[j]; a[j]=aux; } } } // fin del ordenamiento

More Related