Entradas

Mostrando entradas de septiembre, 2017

Arboles de busqueda binaria

Imagen
     En la entrada de esta semana continuaremos con el tema de árboles, la semana anterior dimos una pequeña introducción a este tema tan amplio, esta semana hablaremos sobre los arboles de búsqueda binaria. Las características de estos árboles, por que reciben este nombre, como es su manera es inserción y otros datos relevantes de este tipo de árboles. ¿Qué es un árbol de búsqueda binaria?      La principal característica de estos árboles es que como su nombre lo dicen son binarios, es decir cada nodo a lo sumo tiene 2 hijos, un hijo derecho y un hijo izquierdo. Estos árboles están creados con la intención de realizar una búsqueda mucho más eficiente pues cuentan con una forma de inserción muy particular, la cual consiste en que los nodos cuyo valor sea mayor al nodo padre se agregan en el lado derecho de este, es decir seria su hijo derecho y los nodos que poseen un valor menor al que tiene el nodo padre se colocan a la izquierda de este. Esto asegura una búsqu

Arboles

Imagen
Árbol.      En la entrada número tres de este blogg se trató el tema de las estructuras de datos lineales y no lineales, mencionando el termino árbol (refiriéndose en la computación) el cual se definió de la siguiente forma, (tomando como referencia la presentación de Carlos López Bello en su presentación “Estructuras no lineales”) “Tipo particular de grafo sin ciclos formada por nodos en la cual cada uno de ellos puede apuntar a uno o varios otros nodos. Entre los nodos se establece una relación de ascendencia/descendencia, nodo padre, nodo hijo, nodo raíz, nodo hoja”.      En esta entrada se buscará ampliar este tema, dar algunos conceptos básicos, su estructura y la forma en que son representados.      Para iniciar debemos tener la definición de que es una estructura de datos llamada árbol. Como se mencionó anteriormente esta estructura es un conjunto de nodos los cuales pueden apuntar a uno, ninguno o varios nodos, estas son conocidas

Algoritmos de ordenamiento, código en C

Imagen
          En la entrada de esta semana se dará una pequeña extensión del tema tratado la semana anterior, esto con la intención de ampliar el contenido del blog. Como la semana pasada se habló sobre algoritmos de ordenamiento y se presentaron códigos de estos, pero en lenguaje Python esta semana ampliaremos esto mostrando los códigos en lenguaje C. Además, podremos así observar la diferencia de manejo de estructuras que hay entre estos lenguajes.      Los códigos presentados son tomados documento.cap6. “Algoritmos de búsqueda y ordenamiento”.      El primer algoritmo es el algoritmo de selección:             void ordSeleccion (double a [], int n) {                         int indiceMenor, i, j; /* ordenar a[0]..a[n-2] y a[n-1] en cada pasada */  for (i = 0; i < n-1; i++) {              /* comienzo de la exploración en índice i */      indiceMenor = i; /* j explora la sublista a[i+1]..a[n-1] */ for (j = i+1; j < n; j++)      if (a[j] <