1. ESTRUCTURAS DE DATOS Y
ALGORITMOS
PROFESOR: REALIZADO:
Luis Estrañó Roimer Guape
27.732.181
2. ESTRUCTURAS DE DATOS
una estructura de datos es una forma de organizar un conjunto
de datos elementales con el objetivo de facilitar su
manipulación. Un dato elemental es la mínima información que
se tiene en un sistema.
Una estructura de datos define la organización e interrelación de
éstos y un conjunto de operaciones que se pueden realizar sobre
ellos.
3. • ARRAYS
Es un conjunto de datos del mismo tipo
almacenados en la memoria del ordenador en
posiciones adyacentes. Sus componentes
individuales se llaman elementos y se distinguen
entre ellos por el nombre del array seguido de
uno ovarios índices o sub-índices.
4. • CADENAS DE CARACTERES
Las cadenas de caracteres son vectores de tipo carácter
(char) que reciben un tratamiento especial para simular el
tipo de datos “string”, presente en otros lenguajes de
programación. Para que un vector de caracteres pueda
ser considerado como una cadena de caracteres, el
´ultimo de los elementos útiles del vector debe ser el
carácter nulo (código ASCII 0). Según esto, si se quiere
declarar una cadena formada por N caracteres, deberá
declararse un vector con N + 1 elementos de tipo
carácter. Por ejemplo, la declaración char cadena[6];
reserva suficiente espacio en memoria para almacenar
una cadena de 5 caracteres, como la palabra "casco":
5. • REGISTROSUn registro informático es un tipo o conjunto de datos almacenados en un sistema.
Hasta ahora nos hemos referido a estructuras formadas por datos simples
del mismo tipo; sin embargo, es interesante poder manejar una especie de arrays
heterogéneos en los que sus elementos puedan ser de tipos diferentes. Llamaremos
registroa una estructura de datos, formada por yuxtaposición de elementos que
contienen información relativa a un mismo ente. A los elementos que componen el
registro los llamamos campos, cada uno de los cuales es de un determinado tipo,
simple o estructurado. Los campos dentro del registro aparecen en un orden
determinado y se identifican por un nombre. Para definir el registro es necesario
especificar el nombre y tipo de cada campo. Por ejemplo consideremos un registro,
referido a Empleado, que está constituido por tres campos: Nombre (cadena), Edad
(entero) y Porcentaje de impuestos (real).
6. • LISTAS
Una lista es una colección de elementos homogéneos entre los que existe una
relación lineal.
Las listas no son arreglos (arrays), aunque ambos representan secuencias de
elementos de un tipo, los arreglos tienen longitud fija; las listas, no; es decir,
las listas son flexibles y permiten cambio de implementación.
En una lista enlazada, cada elemento apunta al siguiente excepto el último
que no tiene sucesor y el valor del enlace es null. Por ello los elementos son
registros que contienen el dato a almacenar y un enlace al siguiente
elemento. Los elementos de una lista, suelen recibir también el nombre de
Nodos de la lista.
7. • ARBOLES
un árbol es una estructura de datos ampliamente usada que imita la forma de
un árbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la
que se construye el árbol y puede tener cero o más nodos hijos conectados a
él. Se dice que un nodo a {displaystyle a} es padre de un nodo b
{displaystyle b} si existe un enlace desde a {displaystyle a} hasta b
{displaystyle b} (en ese caso, también decimos que b {displaystyle b} es hijo
de a {displaystyle a} ). Sólo puede haber un único nodo sin padres, que
llamaremos raíz. Un nodo que no tiene hijos se conoce como hoja. Los demás
nodos (tienen padre y uno o varios hijos) se les conoce como rama.
8. ALGORITMOS
es un método para resolver un problema mediante una serie de
pasos definidos, precisos y finitos.
es un conjunto prescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante
pasos sucesivos que no generen dudas a quien deba realizar
dicha actividad.2 Dados un estado inicial y una entrada,
siguiendo los pasos sucesivos se llega a un estado final y se
obtiene una solución. Los algoritmos son el objeto de estudio de
la algoritmia.
9. • REPRESENTACION DE ALGORITMOS
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje
natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros.
Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar
pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural.
Dichas expresiones son formas más estructuradas para representar algoritmos; no
obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles:
1.Descripción de alto nivel. Se establece el problema, se selecciona un modelo
matemático y se explica el algoritmo de manera verbal, posiblemente con
ilustraciones y omitiendo detalles.
2.Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que
encuentran la solución.
3.Implementación. Se muestra el algoritmo expresado en un lenguaje de
programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto, un
análisis de complejidad o ambos.
10. • PSEUDOCODIGOS Y
ORGANIGRAMAS
• Pseudocódigos: En ciencias de la computación, y análisis numéricos, el
pseudocódigo (o falso lenguaje) es una descripción de alto nivel compacta
e informal del principio operativo de un programa informático u otro
algoritmo.
• Organigramas: es la representación gráfica de la estructura de una
empresa o cualquier otra organización, incluyen las estructuras
departamentales y, en algunos casos, las personas que las dirigen, hacen
un esquema sobre las relaciones jerárquicas y competenciales de vigor.