Está en la página 1de 5

Estructura de datos

Algoritmo
Definición: Un algoritmo es un método, un proceso, un conjunto de instrucciones
utilizadas para resolver un problema específico
Características:
 Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

 Un algoritmo debe estar definido: Si se sigue un algoritmo dos veces, se debe


obtener el mismo resultado cada vez.

 Finito: El número de pasos a realizar son conocidos así como la factibilidad de


solución al problema planteado, o sea, que va a ver una respuesta al proceso.

 Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y
leerlo fácilmente.

 Infinito: Se desconoce el número de pasos a realizar, así como la imposibilidad


de encontrar la solución al problema planteado.

Un algoritmo debe describir tres partes: Entrada, Proceso y Salida.


1. Entrada: El algoritmo tendrá cero o más entradas, es decir, cantidades
dadas antes de empezar el algoritmo. Estas cantidades pertenecen
además a conjuntos especificados de objetos.

2. Salida: El algoritmo tiene una o más salidas, en relación con las entradas.

Propiedades:

 Enunciado del problema. El enunciado del problema debe de ser claro y


completo

 Análisis de la solución general: Entendido el problema, para resolverlo es preciso


analizar:
 Los datos de entradas que nos suministran.
 El proceso al que se requiere someter esos datos a fin de obtener los
resultados esperados.
 Los datos o resultados que se esperan.
 Áreas de trabajo, fórmulas y otros recursos necesarios.
 Definir condiciones si las hay.

Alejandro Méndez González


Estructura de datos

Eficiencia y exactitud:
La eficiencia de un algoritmo es la propiedad mediante la cual un algoritmo debe
alcanzar la solución al problema en el tiempo más corto posible o utilizando la
cantidad más pequeña posible de recursos físicos y que sea compatible con su
exactitud o corrección.

Fuentes bibliográficas:
1) http://www.monografias.com/trabajos94/algoritmo-y-diagrama-flujo/algoritmo-y-
diagrama-flujo.shtml

2) https://aulatec.wordpress.com/caracteristicas-y-propiedades-de-los-algoritmos/

3) http://correo.uan.edu.mx/~iavalos/FP/FP1.html

Alejandro Méndez González


Estructura de datos

Tabla Comparativa de Estructura de datos

Definición Características Ventajas Funciones

 Debe tener unos operadores  El uso de memoria La función


asociados que permitan la se adapta g_slist_insert_sorted
manipulación de los datos que dinámicamente. inserta los elementos a
Consta de un número de contiene. la lista de forma
Listas enlazadas elementos y cada elemento  Concatenación y ordenada. Esta función
tiene dos componentes.  Cuando se inserta un partición listas con utiliza el parámetro
elemento en una lista coste GCompareFunc para
enlazada, se deben considerar independiente. insertar el dato en la
cuatro casos: Añadir a una posición correcta.
lista vacía, añadir al principio
de la lista, añadir en el interior
y añadir al final de la lista.

Las funciones básicas


Una pila (stack) es una  Evaluación de expresiones en  No requiere definir definidas sobre una
colección ordenada de notación postfija. ninguna estructura pila son push y pop.
elementos a los cuales sólo de control. La función push inserta
Pilas se puede acceder por un  Implementación de un nuevo elemento en
único lugar o extremo de la recursividad. el tope de la pila. La
pila. función pop elimina el
 Los elementos se añaden o se elemento indicado por
quitan (borran) de la pila sólo el tope de la pila.
por su parte superior (cima).

Alejandro Méndez González


Estructura de datos

Una cola es una estructura  Permiten añadir, eliminar y Los elementos se Un elemento se inserta
Colas de datos que almacena devolver un elemento. eliminan, de la cola en en la cola (parte final)
elementos en una lista y el mismo orden en que de la lista y se suprime
permite acceder a los datos  Son circulares de prioridad. se almacenan y, por o elimina por el frente
por uno de los dos extremos consiguiente, una cola (parte inicial, frente) de
de la lista. es una estructura de la lista.
tipo FIFO.

Las tablas de dispersión son  Una tabla de dispersión consta Los elementos que se Una función de
estructuras de datos que de un array (vector), donde se guardan tienen que dispersión convierte el
Tablas de tienen como finalidad almacenan los registros o estar identificados por dato considerado
dispersión o realizar las operaciones elementos, y de una función un campo clave, de tal campo clave (tipo
tablas hash. fundamentales de búsqueda hash, que transforma el campo forma que dos entero o cadena de
y eliminación de un registro clave elegido en el rango elementos distintos caracteres) en un
en un tiempo de ejecución entero del array. tengan claves distintas. índice dentro del rango
constante (Complejidad de definición del array
constante O(1)).  Las tablas de dispersión son o vector que almacena
estructuras de datos para las los elementos, de tal
cuales la complejidad de las forma que sea
operaciones básicas insertar, adecuado para indexar
eliminar y buscar es constante. el array.

Los árboles binarios de  Búsqueda de un nodo. Es la simplicidad de La búsqueda de un


búsqueda son estructuras Devuelve la referencia al nodo compresión y su gran elemento se puede
Árboles Binarios de datos importantes que del árbol o null. potencia. realizar de dos formas:
permiten localizar una clave iterativa o recursiva.
de búsqueda con un coste  Inserción de un nodo. Crea un
logarítmico. nodo con su dato asociado y lo
añade, en orden, al árbol.

Alejandro Méndez González


Estructura de datos

 Borrado de un nodo. Busca el


nodo del árbol que contiene un
dato y lo quita. El árbol debe
seguir siendo de búsqueda.

 Recorrido de un árbol. Los


mismos recorridos de un árbol
binario preorden, inorden y
postorden.
Un grafo G consta de un par
Grafos de conjuntos (G = (V, E)):  Los grafos se implementan de Se puede determinar
conjunto V de vértices o dos formas: matriz de en un tiempo fijo y
nodos y conjunto E de adyacencia y listas de constante si un enlace
aristas (que conectan dos adyacencia.
vértices).

Enlaces de referencia:
 http://www.utm.mx/~rruiz/cursos/ED/material/pila.pdf

 https://es.slideshare.net/DavidAngel90/arboles-binarios-5732928

 https://upload.wikimedia.org/wikipedia/commons/5/51/APUNTES.pdf

Alejandro Méndez González

También podría gustarte