Guía de estudio -Módulo 1
Modulo I Estructuras de Datos Fundamentales
2
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS
COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE
SISTEMAS
PROGRAMA DE ASIGNATURA
I. Datos generales
Denominación de la
Asignatura:
Estructura de Datos I
Código:
8362
Semestre: I Año: II
Carrera: Licenciatura en Desarrollo de Software
Tipo de Asignatura: No
Fundamental
Prerequisitos: Fundamentos
de Computación
Créditos: 4 Cantidad de Horas Teóricas:
3
Horas de
Laboratorio: 2
Profesor Responsable de (la elaboración / actualización) del
Programa: Ing. Jacqueline de Ching
Fecha de Aprobación del Programa:
Intensidad: 5 horas por semana
Ubicación: Sede provisional
Modulo I Estructuras de Datos Fundamentales
3
Dirigido a: Estudiantes que cursen la carrera de Licenciatura en
Desarrollo de Software.
Introducción
El estudio de algunos fenómenos o problemas que se presentan en
ciencias tales como: la física, la química, la economía, la inteligencia
artificial, la astronomía, las sociales, la informática, etc., debe
realizarse utilizando técnicas matemáticas que nos permitan
representar gráficamente estos fenómenos, de forma tal que sea más
comprensible y manejable su solución.
Las estructuras de datos son un conjunto de técnicas matemáticas
gráficas, que ayudan en gran medida a resolver una variedad de
problemas en muchas de las ciencias antes mencionadas, que de otra
forma sería prácticamente imposible de hacer. Lo más importante de
todo esto, es la susceptibilidad de estas técnicas de permitir su
programación, resolviendo los problemas o fenómenos antes
mencionados a través del computador.
Por otro lado, las estructuras de datos son la base fundamental sobre
la cual se soportan otras estructuras más complejas, pero que agilizan
la vida cotidiana de las organizaciones, tal es el caso de las Bases de
Datos.
El manejo eficiente de la información, con algoritmos adecuados y
óptimos, representa otro de los elementos básicos para todo
profesional de la informática, evitando con ello respuestas poco fiables
a problemas y en períodos de tiempo no aceptables.
Modulo I Estructuras de Datos Fundamentales
4
Todo lo anterior, son razones más que suficientes para justificar el
estudio profundo de las estructuras de datos y del concepto de
eficiencia algorítmica por parte de nuestros estudiantes.
El curso de Estructura de Datos I, es una parte esencial en la
formación del estudiante de Ingeniería, en donde se abordan temas
como los diferentes tipos estructuras, que son necesarias en el diseño
de un programa, y además el estudio de la recursividad los cuales son
necesarios para la solución de problemas por computadoras.
El curso de Estructura de Datos I, es el primer curso en el cual se
pretende que el estudiante aprenda a manejar las estructuras de datos
en su representación y manejo. Todo ello, con el propósito de que
logre implementar proyectos de casos reales, cuya soluciónse obtiene
utilizando estas técnicas.
Descripción
El curso esta compuesto por los siguientes módulos: 1) Estructuras
de Datos Primitivas y Lineales, en la que se discuten las estructuras
de datos primitivas, simples y lineales en general, su representación y
operaciones. 2) Estructuras Dinámicas de Datos, el cual permite
conocer las estructuras tipo listas enlazadas y el concepto de
recursividad.
Este curso está ubicado en el tercer semestre de la carrera de
Licenciatura en Ingeniería de Sistemas y Computación con un total de
4 créditos. Adicional a esto, para complementar todo el aspecto
teórico es necesario el uso de un lenguaje de programación orientado
a objetos (C++ y Java) y del computador, sin los cuales el curso
Modulo I Estructuras de Datos Fundamentales
5
perdería su efecto final en el estudiante. Se recomienda que el
profesor exponga magistralmente, en clase, aquellos conceptos
teóricos básicos que el estudiante requerirá para su aplicación.
Además, se demostrará lo aprendido mediante el desarrollo de
problemas utilizando el computador como herramienta y finalmente
como otras actividades complementarias se asignarán tareas, lecturas
e investigaciones.
Estrategias Metodológicas
 Presentaciones magistrales
 Resolución de problemas en el ordenador.
 Presentaciones grupales.
 Investigaciones y proyectos.
Evaluación
Parciales (3) 35%
Semestral 35%
Tareas, quices e
investigaciones
10%
Participación en clase 5%
Proyecto final 15%
Total 100%
Cronograma de actividades
Semana Módulo Tema
Modulo I Estructuras de Datos Fundamentales
6
1 Estructura de datos
primitivas y lineales
Estructura de datos
fundamentales
2
3
4
5 Estructura de datos lineales
6
7
8
9
10 Estructuras dinámicade
datos
Estructura de datos dinámicas
lineales
11
12
13
14 Recursión
15
16
17 Semana de Exámenes
Esquema del Contenido
Modulo I Estructuras de Datos Fundamentales
7
Contenido de
Estructura de Datos I
Módulo I -
Estructuras de datos
primitivas y lineales
Estructura de
datos
fundamentales
Definicióny
conceptos
básicos
Estructura de
datos
Primitivas.
Estructuras
de Datos
Simples
Algoritmos de
ordenamiento y su
eficiencia
Algoritmos de
búsqueday su
eficiencia
Registros
Conjuntos
Estructura de
datos
lineales
Introducción
Pila
Colas
Módulo 2 - Estructuras
dinámica de datos
Estructura de
datos dinámicas
lineales
Variables
punteros
Listas
enlazadas
Listas
enlazadas
circulares
Listas enlazadas
circulares con
nodos
Listas
doblemente
enlazadas
Recursión
Introducción
Programació
n recursiva
Procedimient
os recursivo
Ejemplos
Modulo I Estructuras de Datos Fundamentales
8
Módulo I – ESTRUCTURA DE DATOS PRIMITIVAS Y LINEALES
Objetivo General
Analizar las estructurasde datos primitivasy simples,y la forma cómo
está implementado en los lenguajes de programación.
Contenido Programático
 ESTRUCTURA DE DATOS FUNDAMENTALES
o Definición y conceptos básicos
o Estructura de datos Primitivas
 Enteros
 Reales
 Caracteres
 Booleanos
o Estructuras de Datos Simples
 Cadenas
 Arreglos
 Dimensiones
 Unidimensionales
 Bidimensionales
 N-dimensionales
 Algoritmos de ordenamiento y su eficiencia
 Selección
 Inserción
 Burbuja
 Algoritmos de búsqueda y su eficiencia
 Secuencial
Modulo I Estructuras de Datos Fundamentales
9
 Registros
 Implementación
 Conjuntos
 Implementación
Modulo I Estructuras de Datos Fundamentales
10
Tema Nº1: Estructuras de Datos Fundamentales
Al finalizar este tema, el estudiante debe ser capaz de:
 Definir el concepto de tipo de datos.
 Clasificar los tipos de estructura de datos.
 Revisar la implementación de las estructuras de datos ya
existentes en los lenguajes.
 Demostrar cual es la eficiencia de los distintos algoritmos de
ordenamientos
 Demostrar cual es la eficiencia de los distintos algoritmos de
búsqueda.
Modulo I Estructuras de Datos Fundamentales
11
Antes de iniciarla lectura del documento,busqueel significado de las
siguientes palabras, el cual debe estar acorde al contenido de la
asignatura. Coloque el significado en la línea de cada palabra.
Datos:
________________________________________________________
________________________________________________________
Variable:
________________________________________________________
________________________________________________________
Algoritmo:
________________________________________________________
________________________________________________________
Información:
________________________________________________________
________________________________________________________
Modulo I Estructuras de Datos Fundamentales
12
Estructuras de Datos Fundamentales
Definición y conceptos básicos
Una estructura de datos es, a grandes rasgos,
una colección o conjunto de datos (normalmente
de tipo simple) que se caracterizan por su
organización y las operaciones que se definen
en ellos. Por tanto, una estructura de datos
vendrá caracterizada tanto por unas ciertas
relaciones entre los datos que la constituyen (por
ejemplo, el orden de los componentes de un vector de números
reales), como por las operaciones posibles en ella. Esto supone que
podamos expresar formalmente, mediante un conjunto de reglas, las
relaciones y operaciones posibles.
Las estructuras de datos, pueden organizarse en muchas formas
diferentes; el modelo matemático o lógico de una organización
particular de datos recibe el nombre de estructura de datos.
La elección de un modelo de datos depende de dos cuestiones.
Primero, debe ser lo suficientemente complejo para mostrarnos la
relación entre los datos y lo que representan. Por el contrario, la
estructura debe ser lo suficiente mente simple para que los datos
puedan ser procesados de forma eficiente cuando sean necesario.
Con el propósito de que la información sea procesada,se requiere que
ésta se almacene en la memoria de la computadora. De acuerdo con
la forma en que los datos se organizan, se clasifican en:
Modulo I Estructuras de Datos Fundamentales
13
 Tipos de datos simples:Consiste en que ocupan sólo una casilla
de memoria, por tanto, una variable simple hace referencia a un
único valor a la vez. En este grupo de datos se encuentran:
números enteros y reales, caracteres, booleanos, enumerados y
subrangos.
 Tipos de datos estructurados: Se caracterizan por el hecho de
que con un nombre (identificador de variable estructurada – se
hace referencia a un grupo de casillas de memoria. Es decir, un
tipo de dato estructurado tiene varios componentes. Cada uno
de estos puede ser un tipo de dato simple o estructurado. Sin
embargo, los componentes básicos os del nivel más bajo, de
cualquier tipo de datos estructurado son siempre tipos de datos
simples.
Ilustración 1 – Clasificación de las estructuras de datos.
Modulo I Estructuras de Datos Fundamentales
14
Clasificación
Las Estructuras de datos pueden clasificarse en lineales y no lineales.
Una Estructura de datos es lineal si sus elementos forman una
secuencia o, en otras palabras una lista lineal.
Estructuras de Datos Primitivas
 Enteros: Un tipo de dato entero en computación es un tipo de
dato que puede representar un subconjunto finito de los números
enteros. El número mayor que puede representar depende del
tamaño del espacio usado por el dato y la posibilidad (o no) de
representar números negativos.
 Reales: El tipo de dato real es un tipo de dato en programas
informáticos que representa la aproximación de un número real.
Al igual que los números enteros, el tipo real está limitado
superior e inferiormente según la cantidad de memoria que haya
disponible para almacenarlo.
 Carácter: Es una unidad de información que corresponde
aproximadamente con un grafema o con una unidad o símbolo
parecido, como los de un alfabeto o silabario de la forma escrita
de un lenguaje natural.
Un ejemplo de carácter es una letra, un número o un signo de
puntuación.
Modulo I Estructuras de Datos Fundamentales
15
 Booleano: El tipo de dato lógico o booleano es en computación
aquel que puede representar valores de lógica binaria, esto es 2
valores, valores que normalmente representanfalso o verdadero.
Identifique los tipos de datos que se almacena en las variables.
Val=”Hola” Ver=true
Ani=2 N=”g”
O=6.90 F=false
Uni=3.22
Ver=”false”
K=”Perro”
Ilustración 2 – Ejemplo de estructuras de datos primitivas utilizadas en el lenguaje JAVA.
Modulo I Estructuras de Datos Fundamentales
16
Estructuras de datos simples
Arreglos
Es un conjunto de datos o una estructura de datos homogéneos que
se encuentran ubicados en forma consecutiva en la memoria RAM
(sirve para almacenar datos en forma temporal).
Un arreglo puede definirse como un grupo o una colección finita,
homogéneay ordenada de elementos.Los arreglos pueden ser de los
siguientes tipos:
 Arreglo unidimensional: Es un tipo de datos estructurado que
está formado de una colección finita y ordenada de datos del
mismo tipo. Es la estructura natural para modelar listas de
elementos iguales.
 Tipos de datos (primitivos y objeto) en JAVA :
http://aprenderaprogramar.com/index.php?option=com_content&v
iew=article&id=419:tipos-de-datos-java-tipos-primitivos-int-
boolean-y-objeto-string-array-o-arreglo-variables-
cu00621b&catid=68:curso-aprender-programacion-java-desde-
cero&Itemid=188
 Tipos de datos – Fernando Berzal:
elvex.ugr.es/decsai/java/pdf/2C-Datos.pdf
 Tipos de datos - Youtube: https://www.youtube.com/watch?v=-
9Yi5pTOgVs
Modulo I Estructuras de Datos Fundamentales
17
Para implementar arreglos unidimensionales se debe reservar
espacio en memoria, y se debe proporcionar la dirección base
del arreglo, la cota superior y la inferior.
Ilustración 3 – Representación de arreglo unidimensional en memoria.
 Arreglo bidimensional: Es un arreglo tipo tabla o matriz de datos
finitos que son controlados por renglones y columnas. Por lo
general al manejo de listas y tablas se manejan con el ciclo for.
Ilustración 4 - Representación de arreglo bidimensional en memoria.
 Arreglo multidimensional: Son estructuras finitas, las más
comunes son los tridimensionales ya que manejan renglones,
columna y profundidad de cada renglón/columna.
Modulo I Estructuras de Datos Fundamentales
18
Ilustración 5 - Representación de arreglo multidimensional en memoria.
Identifique si el arreglo es unidimensional, bidimensional o
multidimensional.
V[4]=”Gato” N[0][1]=3.16
il[9][8][0][3]=”r” G[5]=4
Valores[3][5][1]=9
Uni[0][4]=”respuesta”
 Arreglos en JAVA - Youtube:
https://www.youtube.com/watch?v=NptbwNMLF8o
 Arreglos (Informática) - Ecured:
www.ecured.cu/Arreglos_(Informática)
 Tipos de datos estructurados: www.inf.utfsm.cl/~noell/IWI-131-
p1/Tema8.pdf
Modulo I Estructuras de Datos Fundamentales
19
Algoritmos de ordenamiento y su eficiencia
¿Qué es ordenamiento?
Es la operación de arreglar los registros de una tabla en algún orden
secuencial de acuerdo a un criterio de ordenamiento.
El ordenamiento se efectúa con base en el valor de algún campo en
un registro.
El propósito principal de un ordenamiento es el de facilitar las
búsquedas de los miembros del conjunto ordenado.
Ejemplo de ordenamientos: Dir. Telefónico, tablas de contenido,
bibliotecas y diccionarios, etc.
El ordenar un grupo de datos significa mover los datos o sus
referencias para que queden en una secuencia tal que represente un
orden, el cual puede ser numérico, alfabético o incluso alfanumérico,
ascendente o descendente.
¿Cuándo conviene usar un método de ordenamiento?
Cuando se requiere hacer una cantidad considerable de búsquedas y
es importante el factor tiempo.
Tipos de ordenamientos
Los 2 tipos de ordenamientos que se pueden realizar son: los internos
y los externos.
 Los internos: Son aquellos en los que los valores a ordenar
están en memoria principal, por lo que se asume que el tiempo
Modulo I Estructuras de Datos Fundamentales
20
que se requiere para acceder cualquier elemento sea el mismo
(a[1], a[500], etc).
 Los externos: Son aquellos en los que los valores a ordenar
están en memoria secundaria (disco, cinta, cilindro magnético,
etc), por lo que se asume que el tiempo que se requiere para
acceder a cualquier elemento depende de la última posición
accesada (posición 1, posición 500, etc).
Algoritmos de inserción
En este tipo de algoritmo los elementos que van a ser ordenados son
considerados uno a la vez. Cada elemento es INSERTADO en la
posición apropiada con respecto al resto de los elementos ya
ordenados.
Entre estos algoritmos se encuentran el de INSERCION DIRECTA,
SHELL SORT, INSERCION BINARIA y HASHING.
Algoritmo burbuja
La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo
algoritmo de ordenamiento. Funciona revisando cada elemento de la
Modulo I Estructuras de Datos Fundamentales
21
lista que va a ser ordenada con el siguiente, intercambiándolos de
posición si están en el orden equivocado. Es necesario revisar varias
veces toda la lista hasta que no se necesitenmás intercambios, lo cual
significa que la lista está ordenada. Este algoritmo obtiene su nombre
de la forma con la que suben por la lista los elementos durante los
intercambios, como si fueran pequeñas "burbujas". También es
conocido como el método del intercambio directo. Dado que solo usa
comparaciones para operar elementos, se lo considera un algoritmo
de comparación, siendo el más sencillo de implementar.
Este algoritmo es esencialmente un algoritmo de fuerza bruta lógica.
Ilustración 6 – Representación de algoritmo de ordenamiento burbuja en
pseudocódigo
Algoritmos de selección
En este tipo de algoritmos se SELECCIONA o se busca el elemento
más pequeño (o más grande) de todo el conjunto de elementos y se
Modulo I Estructuras de Datos Fundamentales
22
coloca en su posición adecuada. Este proceso se repite para el resto
de los elementos hasta que todos son analizados.
Entre estos algoritmos se encuentra el de SELECCION DIRECTA.
Resuelva los problemas que a continuación se presentan:
1. Un array contiene los elementos indicados más abajo. Utilizando
el algoritmo de ordenación Shell encuentre las pasadas y los
intercambios que se realizan para su ordenación.
8 43 17 6 40 16 7 18 97 11
2. Partiendo del mismo array que en el Ejercicio 1, encuentre las
particiones e intercambios que realiza el algoritmo de selección
para su ordenación.
3. Se tiene la siguiente lista:
47 3 21 32 56 92
Después de dos pasadas de un algoritmo de ordenación, el array se
ha quedado dispuesto así:
3 21 47 32 56 92
¿Qué algoritmo de ordenación se está utilizando (selección, burbuja o
inserción)? Justifique su respuesta.
Modulo I Estructuras de Datos Fundamentales
23
________________________________________________________
________________________________________________________
4. Suponga que se tiene una secuencia de n números que deben
ser clasificados.Utilice el método de ordenamiento burbuja para
determinar cuántas comparaciones y cuántos intercambios se
requieren para clasificar la secuencia si:
 Ya está clasificada.
 Está en orden inverso.
Algoritmos de Búsqueda y su Eficiencia
Los procesos de búsqueda involucran recorrer un arreglo completo
con el fin de encontrar algo. Lo más común es buscar el menor o
mayor elemento (cuando es puede establecer un orden), o buscar el
índice de un elemento determinado.
Para encontrar un dato dentro de un arreglo, para ello existen diversos
algoritmos que varían en complejidad, eficiencia, tamaño del dominio
de búsqueda.
Búsqueda Secuencial
 Algoritmos. Métodos de ordenamiento - Youtube:
https://www.youtube.com/watch?v=VJ_EUuURRg4
Modulo I Estructuras de Datos Fundamentales
24
Consiste en ir comparando el elemento que se busca con cada
elemento del arreglo hasta cuando se encuentra.
Se utiliza cuando el contenido del Vector no se encuentra o no puede
ser ordenado. Consiste en buscar el elemento comparándolo
secuencialmente (de ahí su nombre) con cada elemento del arreglo o
conjunto de datos hasta que se encuentre, o hasta que se llegue al
final del arreglo. La existencia se puede asegurar desde el momento
que el elemento es localizado, pero no podemos asegurar la no
existencia hasta no haber analizado todos los elementos del arreglo.
Registros
Es un tipo de datos formado por una colección finita de elementos no
necesariamente homogéneos. El acceso se realiza a través de una
referenciaal nombre del registro seguido del campo específico al que
se desea acceder y delimitado por un punto.
Ilustración 7 – Ejemplo de declaración de un registro
Modulo I Estructuras de Datos Fundamentales
25
Conjuntos
Es una colección (contenedor) de ciertos valores, sin ningún orden
concreto ni valores repetidos. Su correspondencia en las matemáticas
sería el conjunto finito. Sin tener en cuenta la secuencia, ni el hecho
de que no haya valores repetidos, se asemeja a una lista. Un conjunto
puede verse como una cadena asociativa (array) (mapeado parcial)
donde no se atiende al valor de cada par clave-valor.
Los conjuntos pueden implementarse usando diversas estructuras de
datos. Con una estructura de datos ideal se compruebasi un objeto se
encuentra en el conjunto, además de activarse otras operaciones
útiles tales como la iteración sobre todos los objetos del conjunto, la
realización de uniones o intersecciones entre dos conjuntos, o la toma
del complemento de un conjunto en algún dominio limitado. Cualquier
estructura de datos en cadena asociativa puede usarse para
implementar un conjunto, dejando que los juegos de claves sean los
elementos del conjunto, e ignorando los valores.
Resuelva los siguientes problemas.
1. Escribir un programa de consulta de teléfonos. Leer un conjunto
de datos de mil nombres y números de teléfono de un archivo
que contiene los números en orden aleatorio. Las consultas han
de poder realizarse por nombre y por número de teléfono.
2. Un array contiene los elementos indicados más abajo. Utilizando
el algoritmo de búsquedasecuencial, trazar las etapas
necesarias para encontrar el número 88.
Modulo I Estructuras de Datos Fundamentales
26
8 13 17 26 44 56 88 97
3. Escribir una función de búsqueda secuencial aplicado a un array
ordenado en modo descendente.
4. Se trata de resolver el siguiente problema escolar. Dadas las
notas de los alumnos de un colegio en el primer curso de
bachillerato, en las diferentes asignaturas (5, por comodidad), se
trata de calcular la media de cada alumno, la media de cada
asignatura, la media total de la clase y ordenar los alumnos por
orden decreciente de notas medias individuales. Nota: Utilizar
como algoritmo de ordenación el método de búsqueda
secuencial.
Modulo I Estructuras de Datos Fundamentales
27
Fuentes de información consultadas
Conjunto (programación). (22 de Abril de 2014). Recuperado el 03 de
Febrero de 2016, de Wikipedia, la enciclopedida libre:
https://es.wikipedia.org/wiki/Conjunto_%28programaci%C3%B3n
%29
Tipo de Dato. (30 de Enero de 2016). Obtenido de Wikipedia, la
Enciclopedia Libre: https://es.wikipedia.org/wiki/Tipo_de_dato
Algoritmo de Búsqueda. (s.f.). Recuperado el 03 de Febrero de 2016,
de Ecured:
http://www.ecured.cu/Algoritmo_de_b%C3%BAsqueda#B.C3.BA
squeda_secuencial
Algoritmos de ordenamiento. (s.f.). Recuperado el 02 de Febrero de
2016, de Monografías.com:
http://www.monografias.com/trabajos/algordenam/algordenam.sh
tml
Higuera, H. (01 de Febrero de 2016). Estructura de Datos - Lic. en
Informática. Obtenido de
http://higuerafrayrehector.blogspot.com/p/estructura-de-
datos.html
Lozano Mejía , A. A., Vértiz Osores, D. D., Vásquez Carrión, M. C., &
Vásquez Zamora, H. (01 de Febrero de 2016). Estructuras de
Datos. Obtenido de Monografías.com:
Modulo I Estructuras de Datos Fundamentales
28
http://www.monografias.com/trabajos14/estruct-datos/estruct-
datos2.shtml
Marco Castro, J. (27 de Enero de 2008). Estructuras de Datos -
Registro. Recuperado el 03 de Febrero de 2016, de Slideshare:
http://es.slideshare.net/macastroj/estructura-de-datos-registro
Ordenamiento de burbuja. (s.f.). Recuperado el 03 de Febrero de
2016, de Wikipedia, la enciclopedia libre:
https://es.wikipedia.org/wiki/Ordenamiento_de_burbuja
Rúbrica para la Evaluación de la Guía de Estudio
Categorías 4 3 2 1 Puntuación obtenida
Muy Bien Bien Suficiente Insuficiente
Introducción Contiene objetivo y explicación
de uso.
Contiene objetivo y
explicación de uso, pero no es
muy clara la redacción.
Carece de alguno de los
dos elementos.
No tiene introducción.
Contenido Se apega al programa
indicativo vigente.
Los contenidos se basan en los
aprendizajes de las cuatro
unidades del programa
Incluye actividades para
cumplir con los objetivos de
aprendizaje.
Se apega al programa
indicativo vigente en un 80-
90%.
Solo son tomados los
contenidos de tres unidades
del programa indicativo.
Carece de sugerencias para
desarrollar los ejercicios.
Contiene 60-80% de los
aprendizajes del
programa, además de
otros aprendizajes no
incluidos en el programa.
Solo son tomados los
contenidos de dos
unidades del programa
indicativo
Se enfoca principalmente
a 2 objetivos de
aprendizaje
Sólo se apega en un 50%
o menos al programa
vigente.
Solo son tomados los
contenidos de una unidad
del programa indicativo
No tiene suficientes
ejercicios
Teoría Las explicaciones y los
ejemplos son claros.
Las explicaciones son claras,
pero no tiene suficientes
ejemplos.
Las explicaciones son
confusas, contiene pocos
ejemplos.
No hay explicación para la
realización de los
ejemplos.
Autoevaluación Contiene al menos dos Contiene al menos un examen Contiene examen No contiene examen
Modulo I Estructuras de Datos Fundamentales
30
exámenes simulacro con hojas
de respuestas.
Contiene ejemplos, mediante
direcciones de acceso a sitios
web
actualizadas
simulacro con hojas de
respuesta
Contiene ejemplos, pero
algunas de las direcciones
electrónicas son obsoletas.
simulacro pero sin hoja de
respuestas.
Contiene ejemplos, pero
no funcionan las ligas
electrónicas
proporcionadas.
simulacro.
No contiene ejemplos.
Bibliografía Proporciona suficiente
bibliografía, así como enlaces a
sitios web donde el alumno
pueda investigar y obtener
práctica adicional.
Proporciona poca bibliografía,
pero suficientes sitios web.
Proporciona bibliografía
no actualizada y algunos
sitios web.
No indica bibliografía o
sitios web para práctica
adicional.
Observaciones:

Más contenido relacionado

PDF
Apuntes bd1
PPTX
Estructura de datos presentacion y sesion 1
DOCX
Actividad 2
PPTX
Encuadre Programación de Sistemas
PDF
Apuntes bd1
PDF
Euler tutor de elementos finitos
DOCX
SILABO INF.102
PPTX
Machine learning
Apuntes bd1
Estructura de datos presentacion y sesion 1
Actividad 2
Encuadre Programación de Sistemas
Apuntes bd1
Euler tutor de elementos finitos
SILABO INF.102
Machine learning

La actualidad más candente (12)

PPT
CENTRO DE INNOVACIÓN TECNOLÓGICO
PPT
CENTRO DE INNOVACIÓN TECNOLÓGICO
PDF
PPTX
Jaguilar estructura del analisis
PDF
Oe04300 c
PPT
Clasificacion Supervisada Y Algoritmos Evolutivos
DOC
13 b zz03-pr-ictica_calificada_2_-material-__25034__
PDF
Algoritmia y Estructura de Datos
PDF
Elementos de programaciòn
PDF
Estructura silvia
PDF
Tema1 (2)
DOCX
Guia de lectura - Una herramienta para el estudio de estructura de datos y al...
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICO
Jaguilar estructura del analisis
Oe04300 c
Clasificacion Supervisada Y Algoritmos Evolutivos
13 b zz03-pr-ictica_calificada_2_-material-__25034__
Algoritmia y Estructura de Datos
Elementos de programaciòn
Estructura silvia
Tema1 (2)
Guia de lectura - Una herramienta para el estudio de estructura de datos y al...
Publicidad

Similar a Guía de estudio -Módulo 1 (20)

DOCX
Estructura de datos benita
DOCX
Estructura de datos benita
DOCX
Estructura de datos benita
DOCX
Estructura de datos benita
DOCX
Estructura de datos benita
PDF
Estructura de Datos de la universidad tecnológica de panama
PDF
Programación del curso - Estructura de Datos I
PPT
Clase I Estructura de Datos
PDF
clase-i-estructura-de-datos-1194357531161281-3.pdf
PPT
Introducción edd
PPTX
ESTRUCT-UP.pptx
PPTX
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
PPTX
Tarea de reconocimiento estructura de datos
PDF
CLASE DE TIPOS DE DATOS DESCRIPCION .pdf
PPTX
Estructuras de datos y algoritmos
PPTX
Estructura de datos y almacenamiento
PDF
Estruc datos
PDF
ESTRUCTURA DE DATOS Pilas y colas.pdf
PPT
Estructuras en C++
PPTX
Presentación1
Estructura de datos benita
Estructura de datos benita
Estructura de datos benita
Estructura de datos benita
Estructura de datos benita
Estructura de Datos de la universidad tecnológica de panama
Programación del curso - Estructura de Datos I
Clase I Estructura de Datos
clase-i-estructura-de-datos-1194357531161281-3.pdf
Introducción edd
ESTRUCT-UP.pptx
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Tarea de reconocimiento estructura de datos
CLASE DE TIPOS DE DATOS DESCRIPCION .pdf
Estructuras de datos y algoritmos
Estructura de datos y almacenamiento
Estruc datos
ESTRUCTURA DE DATOS Pilas y colas.pdf
Estructuras en C++
Presentación1
Publicidad

Más de Yessenia I. Martínez M. (20)

PPTX
Estructuras de datos fundamentales
PPTX
Psicosociología
PPTX
PDF
Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...
PDF
Teamlab - Información Básica
PDF
Guía para el Desarrollo de un Plan de Seguridad - Políticas y Procedimientos
PDF
Comparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra Óptica
PDF
Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...
PDF
Proyecto de calidad de software
PPTX
Proyecto final (Administración) - Improvising Moments Bar Café
PPTX
El Folklore Infantil
PPTX
Indicadores de abuso sexual en la infancia
PPTX
Linux Open SuSE
PPTX
Herramientas Gráficas para MySQL
PPTX
Normalización Usando Dependencias Funcionales - Segunda Forma Normal
PPTX
Sistema Operativo Solaris
PPTX
Modelos Lógicos Basados en Objetos
PPTX
Administración financiera - Análisis de Estados Financieros de la Cooperativa...
PPTX
Evaluación de Usabilidad de Sitios Web Universitarios Nacionales e Internacio...
Estructuras de datos fundamentales
Psicosociología
Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...
Teamlab - Información Básica
Guía para el Desarrollo de un Plan de Seguridad - Políticas y Procedimientos
Comparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra Óptica
Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...
Proyecto de calidad de software
Proyecto final (Administración) - Improvising Moments Bar Café
El Folklore Infantil
Indicadores de abuso sexual en la infancia
Linux Open SuSE
Herramientas Gráficas para MySQL
Normalización Usando Dependencias Funcionales - Segunda Forma Normal
Sistema Operativo Solaris
Modelos Lógicos Basados en Objetos
Administración financiera - Análisis de Estados Financieros de la Cooperativa...
Evaluación de Usabilidad de Sitios Web Universitarios Nacionales e Internacio...

Último (20)

PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
TALLER DE ESTADISTICA BASICA para principiantes y no tan basicos
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PPTX
Clase 3 del silabo-gestion y control financiero
PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
PPTX
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
PDF
Modelo Educativo SUB 2023versión final.pdf
PPTX
TEMA 1ORGANIZACIÓN FUNCIONAL DEL CUERPO, MEDIO INTERNO Y HOMEOSTASIS (3) [Aut...
PDF
ACERTIJO EL CONJURO DEL CAZAFANTASMAS MATEMÁTICO. Por JAVIER SOLIS NOYOLA
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
PDF
Introducción a la historia de la filosofía
DOC
Manual de Convivencia 2025 actualizado a las normas vigentes
PDF
E1 Guía_Matemática_5°_grado.pdf paraguay
PPTX
4. Qué es un computador PARA GRADO CUARTO.pptx
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PDF
CURRICULAR DE PRIMARIA santa ursula..pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PLANES DE área ciencias naturales y aplicadas
TALLER DE ESTADISTICA BASICA para principiantes y no tan basicos
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Clase 3 del silabo-gestion y control financiero
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
Modelo Educativo SUB 2023versión final.pdf
TEMA 1ORGANIZACIÓN FUNCIONAL DEL CUERPO, MEDIO INTERNO Y HOMEOSTASIS (3) [Aut...
ACERTIJO EL CONJURO DEL CAZAFANTASMAS MATEMÁTICO. Por JAVIER SOLIS NOYOLA
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
Introducción a la historia de la filosofía
Manual de Convivencia 2025 actualizado a las normas vigentes
E1 Guía_Matemática_5°_grado.pdf paraguay
4. Qué es un computador PARA GRADO CUARTO.pptx
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
CURRICULAR DE PRIMARIA santa ursula..pdf

Guía de estudio -Módulo 1

  • 2. Modulo I Estructuras de Datos Fundamentales 2 UNIVERSIDAD TECNOLÓGICA DE PANAMÁ FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS PROGRAMA DE ASIGNATURA I. Datos generales Denominación de la Asignatura: Estructura de Datos I Código: 8362 Semestre: I Año: II Carrera: Licenciatura en Desarrollo de Software Tipo de Asignatura: No Fundamental Prerequisitos: Fundamentos de Computación Créditos: 4 Cantidad de Horas Teóricas: 3 Horas de Laboratorio: 2 Profesor Responsable de (la elaboración / actualización) del Programa: Ing. Jacqueline de Ching Fecha de Aprobación del Programa: Intensidad: 5 horas por semana Ubicación: Sede provisional
  • 3. Modulo I Estructuras de Datos Fundamentales 3 Dirigido a: Estudiantes que cursen la carrera de Licenciatura en Desarrollo de Software. Introducción El estudio de algunos fenómenos o problemas que se presentan en ciencias tales como: la física, la química, la economía, la inteligencia artificial, la astronomía, las sociales, la informática, etc., debe realizarse utilizando técnicas matemáticas que nos permitan representar gráficamente estos fenómenos, de forma tal que sea más comprensible y manejable su solución. Las estructuras de datos son un conjunto de técnicas matemáticas gráficas, que ayudan en gran medida a resolver una variedad de problemas en muchas de las ciencias antes mencionadas, que de otra forma sería prácticamente imposible de hacer. Lo más importante de todo esto, es la susceptibilidad de estas técnicas de permitir su programación, resolviendo los problemas o fenómenos antes mencionados a través del computador. Por otro lado, las estructuras de datos son la base fundamental sobre la cual se soportan otras estructuras más complejas, pero que agilizan la vida cotidiana de las organizaciones, tal es el caso de las Bases de Datos. El manejo eficiente de la información, con algoritmos adecuados y óptimos, representa otro de los elementos básicos para todo profesional de la informática, evitando con ello respuestas poco fiables a problemas y en períodos de tiempo no aceptables.
  • 4. Modulo I Estructuras de Datos Fundamentales 4 Todo lo anterior, son razones más que suficientes para justificar el estudio profundo de las estructuras de datos y del concepto de eficiencia algorítmica por parte de nuestros estudiantes. El curso de Estructura de Datos I, es una parte esencial en la formación del estudiante de Ingeniería, en donde se abordan temas como los diferentes tipos estructuras, que son necesarias en el diseño de un programa, y además el estudio de la recursividad los cuales son necesarios para la solución de problemas por computadoras. El curso de Estructura de Datos I, es el primer curso en el cual se pretende que el estudiante aprenda a manejar las estructuras de datos en su representación y manejo. Todo ello, con el propósito de que logre implementar proyectos de casos reales, cuya soluciónse obtiene utilizando estas técnicas. Descripción El curso esta compuesto por los siguientes módulos: 1) Estructuras de Datos Primitivas y Lineales, en la que se discuten las estructuras de datos primitivas, simples y lineales en general, su representación y operaciones. 2) Estructuras Dinámicas de Datos, el cual permite conocer las estructuras tipo listas enlazadas y el concepto de recursividad. Este curso está ubicado en el tercer semestre de la carrera de Licenciatura en Ingeniería de Sistemas y Computación con un total de 4 créditos. Adicional a esto, para complementar todo el aspecto teórico es necesario el uso de un lenguaje de programación orientado a objetos (C++ y Java) y del computador, sin los cuales el curso
  • 5. Modulo I Estructuras de Datos Fundamentales 5 perdería su efecto final en el estudiante. Se recomienda que el profesor exponga magistralmente, en clase, aquellos conceptos teóricos básicos que el estudiante requerirá para su aplicación. Además, se demostrará lo aprendido mediante el desarrollo de problemas utilizando el computador como herramienta y finalmente como otras actividades complementarias se asignarán tareas, lecturas e investigaciones. Estrategias Metodológicas  Presentaciones magistrales  Resolución de problemas en el ordenador.  Presentaciones grupales.  Investigaciones y proyectos. Evaluación Parciales (3) 35% Semestral 35% Tareas, quices e investigaciones 10% Participación en clase 5% Proyecto final 15% Total 100% Cronograma de actividades Semana Módulo Tema
  • 6. Modulo I Estructuras de Datos Fundamentales 6 1 Estructura de datos primitivas y lineales Estructura de datos fundamentales 2 3 4 5 Estructura de datos lineales 6 7 8 9 10 Estructuras dinámicade datos Estructura de datos dinámicas lineales 11 12 13 14 Recursión 15 16 17 Semana de Exámenes Esquema del Contenido
  • 7. Modulo I Estructuras de Datos Fundamentales 7 Contenido de Estructura de Datos I Módulo I - Estructuras de datos primitivas y lineales Estructura de datos fundamentales Definicióny conceptos básicos Estructura de datos Primitivas. Estructuras de Datos Simples Algoritmos de ordenamiento y su eficiencia Algoritmos de búsqueday su eficiencia Registros Conjuntos Estructura de datos lineales Introducción Pila Colas Módulo 2 - Estructuras dinámica de datos Estructura de datos dinámicas lineales Variables punteros Listas enlazadas Listas enlazadas circulares Listas enlazadas circulares con nodos Listas doblemente enlazadas Recursión Introducción Programació n recursiva Procedimient os recursivo Ejemplos
  • 8. Modulo I Estructuras de Datos Fundamentales 8 Módulo I – ESTRUCTURA DE DATOS PRIMITIVAS Y LINEALES Objetivo General Analizar las estructurasde datos primitivasy simples,y la forma cómo está implementado en los lenguajes de programación. Contenido Programático  ESTRUCTURA DE DATOS FUNDAMENTALES o Definición y conceptos básicos o Estructura de datos Primitivas  Enteros  Reales  Caracteres  Booleanos o Estructuras de Datos Simples  Cadenas  Arreglos  Dimensiones  Unidimensionales  Bidimensionales  N-dimensionales  Algoritmos de ordenamiento y su eficiencia  Selección  Inserción  Burbuja  Algoritmos de búsqueda y su eficiencia  Secuencial
  • 9. Modulo I Estructuras de Datos Fundamentales 9  Registros  Implementación  Conjuntos  Implementación
  • 10. Modulo I Estructuras de Datos Fundamentales 10 Tema Nº1: Estructuras de Datos Fundamentales Al finalizar este tema, el estudiante debe ser capaz de:  Definir el concepto de tipo de datos.  Clasificar los tipos de estructura de datos.  Revisar la implementación de las estructuras de datos ya existentes en los lenguajes.  Demostrar cual es la eficiencia de los distintos algoritmos de ordenamientos  Demostrar cual es la eficiencia de los distintos algoritmos de búsqueda.
  • 11. Modulo I Estructuras de Datos Fundamentales 11 Antes de iniciarla lectura del documento,busqueel significado de las siguientes palabras, el cual debe estar acorde al contenido de la asignatura. Coloque el significado en la línea de cada palabra. Datos: ________________________________________________________ ________________________________________________________ Variable: ________________________________________________________ ________________________________________________________ Algoritmo: ________________________________________________________ ________________________________________________________ Información: ________________________________________________________ ________________________________________________________
  • 12. Modulo I Estructuras de Datos Fundamentales 12 Estructuras de Datos Fundamentales Definición y conceptos básicos Una estructura de datos es, a grandes rasgos, una colección o conjunto de datos (normalmente de tipo simple) que se caracterizan por su organización y las operaciones que se definen en ellos. Por tanto, una estructura de datos vendrá caracterizada tanto por unas ciertas relaciones entre los datos que la constituyen (por ejemplo, el orden de los componentes de un vector de números reales), como por las operaciones posibles en ella. Esto supone que podamos expresar formalmente, mediante un conjunto de reglas, las relaciones y operaciones posibles. Las estructuras de datos, pueden organizarse en muchas formas diferentes; el modelo matemático o lógico de una organización particular de datos recibe el nombre de estructura de datos. La elección de un modelo de datos depende de dos cuestiones. Primero, debe ser lo suficientemente complejo para mostrarnos la relación entre los datos y lo que representan. Por el contrario, la estructura debe ser lo suficiente mente simple para que los datos puedan ser procesados de forma eficiente cuando sean necesario. Con el propósito de que la información sea procesada,se requiere que ésta se almacene en la memoria de la computadora. De acuerdo con la forma en que los datos se organizan, se clasifican en:
  • 13. Modulo I Estructuras de Datos Fundamentales 13  Tipos de datos simples:Consiste en que ocupan sólo una casilla de memoria, por tanto, una variable simple hace referencia a un único valor a la vez. En este grupo de datos se encuentran: números enteros y reales, caracteres, booleanos, enumerados y subrangos.  Tipos de datos estructurados: Se caracterizan por el hecho de que con un nombre (identificador de variable estructurada – se hace referencia a un grupo de casillas de memoria. Es decir, un tipo de dato estructurado tiene varios componentes. Cada uno de estos puede ser un tipo de dato simple o estructurado. Sin embargo, los componentes básicos os del nivel más bajo, de cualquier tipo de datos estructurado son siempre tipos de datos simples. Ilustración 1 – Clasificación de las estructuras de datos.
  • 14. Modulo I Estructuras de Datos Fundamentales 14 Clasificación Las Estructuras de datos pueden clasificarse en lineales y no lineales. Una Estructura de datos es lineal si sus elementos forman una secuencia o, en otras palabras una lista lineal. Estructuras de Datos Primitivas  Enteros: Un tipo de dato entero en computación es un tipo de dato que puede representar un subconjunto finito de los números enteros. El número mayor que puede representar depende del tamaño del espacio usado por el dato y la posibilidad (o no) de representar números negativos.  Reales: El tipo de dato real es un tipo de dato en programas informáticos que representa la aproximación de un número real. Al igual que los números enteros, el tipo real está limitado superior e inferiormente según la cantidad de memoria que haya disponible para almacenarlo.  Carácter: Es una unidad de información que corresponde aproximadamente con un grafema o con una unidad o símbolo parecido, como los de un alfabeto o silabario de la forma escrita de un lenguaje natural. Un ejemplo de carácter es una letra, un número o un signo de puntuación.
  • 15. Modulo I Estructuras de Datos Fundamentales 15  Booleano: El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica binaria, esto es 2 valores, valores que normalmente representanfalso o verdadero. Identifique los tipos de datos que se almacena en las variables. Val=”Hola” Ver=true Ani=2 N=”g” O=6.90 F=false Uni=3.22 Ver=”false” K=”Perro” Ilustración 2 – Ejemplo de estructuras de datos primitivas utilizadas en el lenguaje JAVA.
  • 16. Modulo I Estructuras de Datos Fundamentales 16 Estructuras de datos simples Arreglos Es un conjunto de datos o una estructura de datos homogéneos que se encuentran ubicados en forma consecutiva en la memoria RAM (sirve para almacenar datos en forma temporal). Un arreglo puede definirse como un grupo o una colección finita, homogéneay ordenada de elementos.Los arreglos pueden ser de los siguientes tipos:  Arreglo unidimensional: Es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales.  Tipos de datos (primitivos y objeto) en JAVA : http://aprenderaprogramar.com/index.php?option=com_content&v iew=article&id=419:tipos-de-datos-java-tipos-primitivos-int- boolean-y-objeto-string-array-o-arreglo-variables- cu00621b&catid=68:curso-aprender-programacion-java-desde- cero&Itemid=188  Tipos de datos – Fernando Berzal: elvex.ugr.es/decsai/java/pdf/2C-Datos.pdf  Tipos de datos - Youtube: https://www.youtube.com/watch?v=- 9Yi5pTOgVs
  • 17. Modulo I Estructuras de Datos Fundamentales 17 Para implementar arreglos unidimensionales se debe reservar espacio en memoria, y se debe proporcionar la dirección base del arreglo, la cota superior y la inferior. Ilustración 3 – Representación de arreglo unidimensional en memoria.  Arreglo bidimensional: Es un arreglo tipo tabla o matriz de datos finitos que son controlados por renglones y columnas. Por lo general al manejo de listas y tablas se manejan con el ciclo for. Ilustración 4 - Representación de arreglo bidimensional en memoria.  Arreglo multidimensional: Son estructuras finitas, las más comunes son los tridimensionales ya que manejan renglones, columna y profundidad de cada renglón/columna.
  • 18. Modulo I Estructuras de Datos Fundamentales 18 Ilustración 5 - Representación de arreglo multidimensional en memoria. Identifique si el arreglo es unidimensional, bidimensional o multidimensional. V[4]=”Gato” N[0][1]=3.16 il[9][8][0][3]=”r” G[5]=4 Valores[3][5][1]=9 Uni[0][4]=”respuesta”  Arreglos en JAVA - Youtube: https://www.youtube.com/watch?v=NptbwNMLF8o  Arreglos (Informática) - Ecured: www.ecured.cu/Arreglos_(Informática)  Tipos de datos estructurados: www.inf.utfsm.cl/~noell/IWI-131- p1/Tema8.pdf
  • 19. Modulo I Estructuras de Datos Fundamentales 19 Algoritmos de ordenamiento y su eficiencia ¿Qué es ordenamiento? Es la operación de arreglar los registros de una tabla en algún orden secuencial de acuerdo a un criterio de ordenamiento. El ordenamiento se efectúa con base en el valor de algún campo en un registro. El propósito principal de un ordenamiento es el de facilitar las búsquedas de los miembros del conjunto ordenado. Ejemplo de ordenamientos: Dir. Telefónico, tablas de contenido, bibliotecas y diccionarios, etc. El ordenar un grupo de datos significa mover los datos o sus referencias para que queden en una secuencia tal que represente un orden, el cual puede ser numérico, alfabético o incluso alfanumérico, ascendente o descendente. ¿Cuándo conviene usar un método de ordenamiento? Cuando se requiere hacer una cantidad considerable de búsquedas y es importante el factor tiempo. Tipos de ordenamientos Los 2 tipos de ordenamientos que se pueden realizar son: los internos y los externos.  Los internos: Son aquellos en los que los valores a ordenar están en memoria principal, por lo que se asume que el tiempo
  • 20. Modulo I Estructuras de Datos Fundamentales 20 que se requiere para acceder cualquier elemento sea el mismo (a[1], a[500], etc).  Los externos: Son aquellos en los que los valores a ordenar están en memoria secundaria (disco, cinta, cilindro magnético, etc), por lo que se asume que el tiempo que se requiere para acceder a cualquier elemento depende de la última posición accesada (posición 1, posición 500, etc). Algoritmos de inserción En este tipo de algoritmo los elementos que van a ser ordenados son considerados uno a la vez. Cada elemento es INSERTADO en la posición apropiada con respecto al resto de los elementos ya ordenados. Entre estos algoritmos se encuentran el de INSERCION DIRECTA, SHELL SORT, INSERCION BINARIA y HASHING. Algoritmo burbuja La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la
  • 21. Modulo I Estructuras de Datos Fundamentales 21 lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesitenmás intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar. Este algoritmo es esencialmente un algoritmo de fuerza bruta lógica. Ilustración 6 – Representación de algoritmo de ordenamiento burbuja en pseudocódigo Algoritmos de selección En este tipo de algoritmos se SELECCIONA o se busca el elemento más pequeño (o más grande) de todo el conjunto de elementos y se
  • 22. Modulo I Estructuras de Datos Fundamentales 22 coloca en su posición adecuada. Este proceso se repite para el resto de los elementos hasta que todos son analizados. Entre estos algoritmos se encuentra el de SELECCION DIRECTA. Resuelva los problemas que a continuación se presentan: 1. Un array contiene los elementos indicados más abajo. Utilizando el algoritmo de ordenación Shell encuentre las pasadas y los intercambios que se realizan para su ordenación. 8 43 17 6 40 16 7 18 97 11 2. Partiendo del mismo array que en el Ejercicio 1, encuentre las particiones e intercambios que realiza el algoritmo de selección para su ordenación. 3. Se tiene la siguiente lista: 47 3 21 32 56 92 Después de dos pasadas de un algoritmo de ordenación, el array se ha quedado dispuesto así: 3 21 47 32 56 92 ¿Qué algoritmo de ordenación se está utilizando (selección, burbuja o inserción)? Justifique su respuesta.
  • 23. Modulo I Estructuras de Datos Fundamentales 23 ________________________________________________________ ________________________________________________________ 4. Suponga que se tiene una secuencia de n números que deben ser clasificados.Utilice el método de ordenamiento burbuja para determinar cuántas comparaciones y cuántos intercambios se requieren para clasificar la secuencia si:  Ya está clasificada.  Está en orden inverso. Algoritmos de Búsqueda y su Eficiencia Los procesos de búsqueda involucran recorrer un arreglo completo con el fin de encontrar algo. Lo más común es buscar el menor o mayor elemento (cuando es puede establecer un orden), o buscar el índice de un elemento determinado. Para encontrar un dato dentro de un arreglo, para ello existen diversos algoritmos que varían en complejidad, eficiencia, tamaño del dominio de búsqueda. Búsqueda Secuencial  Algoritmos. Métodos de ordenamiento - Youtube: https://www.youtube.com/watch?v=VJ_EUuURRg4
  • 24. Modulo I Estructuras de Datos Fundamentales 24 Consiste en ir comparando el elemento que se busca con cada elemento del arreglo hasta cuando se encuentra. Se utiliza cuando el contenido del Vector no se encuentra o no puede ser ordenado. Consiste en buscar el elemento comparándolo secuencialmente (de ahí su nombre) con cada elemento del arreglo o conjunto de datos hasta que se encuentre, o hasta que se llegue al final del arreglo. La existencia se puede asegurar desde el momento que el elemento es localizado, pero no podemos asegurar la no existencia hasta no haber analizado todos los elementos del arreglo. Registros Es un tipo de datos formado por una colección finita de elementos no necesariamente homogéneos. El acceso se realiza a través de una referenciaal nombre del registro seguido del campo específico al que se desea acceder y delimitado por un punto. Ilustración 7 – Ejemplo de declaración de un registro
  • 25. Modulo I Estructuras de Datos Fundamentales 25 Conjuntos Es una colección (contenedor) de ciertos valores, sin ningún orden concreto ni valores repetidos. Su correspondencia en las matemáticas sería el conjunto finito. Sin tener en cuenta la secuencia, ni el hecho de que no haya valores repetidos, se asemeja a una lista. Un conjunto puede verse como una cadena asociativa (array) (mapeado parcial) donde no se atiende al valor de cada par clave-valor. Los conjuntos pueden implementarse usando diversas estructuras de datos. Con una estructura de datos ideal se compruebasi un objeto se encuentra en el conjunto, además de activarse otras operaciones útiles tales como la iteración sobre todos los objetos del conjunto, la realización de uniones o intersecciones entre dos conjuntos, o la toma del complemento de un conjunto en algún dominio limitado. Cualquier estructura de datos en cadena asociativa puede usarse para implementar un conjunto, dejando que los juegos de claves sean los elementos del conjunto, e ignorando los valores. Resuelva los siguientes problemas. 1. Escribir un programa de consulta de teléfonos. Leer un conjunto de datos de mil nombres y números de teléfono de un archivo que contiene los números en orden aleatorio. Las consultas han de poder realizarse por nombre y por número de teléfono. 2. Un array contiene los elementos indicados más abajo. Utilizando el algoritmo de búsquedasecuencial, trazar las etapas necesarias para encontrar el número 88.
  • 26. Modulo I Estructuras de Datos Fundamentales 26 8 13 17 26 44 56 88 97 3. Escribir una función de búsqueda secuencial aplicado a un array ordenado en modo descendente. 4. Se trata de resolver el siguiente problema escolar. Dadas las notas de los alumnos de un colegio en el primer curso de bachillerato, en las diferentes asignaturas (5, por comodidad), se trata de calcular la media de cada alumno, la media de cada asignatura, la media total de la clase y ordenar los alumnos por orden decreciente de notas medias individuales. Nota: Utilizar como algoritmo de ordenación el método de búsqueda secuencial.
  • 27. Modulo I Estructuras de Datos Fundamentales 27 Fuentes de información consultadas Conjunto (programación). (22 de Abril de 2014). Recuperado el 03 de Febrero de 2016, de Wikipedia, la enciclopedida libre: https://es.wikipedia.org/wiki/Conjunto_%28programaci%C3%B3n %29 Tipo de Dato. (30 de Enero de 2016). Obtenido de Wikipedia, la Enciclopedia Libre: https://es.wikipedia.org/wiki/Tipo_de_dato Algoritmo de Búsqueda. (s.f.). Recuperado el 03 de Febrero de 2016, de Ecured: http://www.ecured.cu/Algoritmo_de_b%C3%BAsqueda#B.C3.BA squeda_secuencial Algoritmos de ordenamiento. (s.f.). Recuperado el 02 de Febrero de 2016, de Monografías.com: http://www.monografias.com/trabajos/algordenam/algordenam.sh tml Higuera, H. (01 de Febrero de 2016). Estructura de Datos - Lic. en Informática. Obtenido de http://higuerafrayrehector.blogspot.com/p/estructura-de- datos.html Lozano Mejía , A. A., Vértiz Osores, D. D., Vásquez Carrión, M. C., & Vásquez Zamora, H. (01 de Febrero de 2016). Estructuras de Datos. Obtenido de Monografías.com:
  • 28. Modulo I Estructuras de Datos Fundamentales 28 http://www.monografias.com/trabajos14/estruct-datos/estruct- datos2.shtml Marco Castro, J. (27 de Enero de 2008). Estructuras de Datos - Registro. Recuperado el 03 de Febrero de 2016, de Slideshare: http://es.slideshare.net/macastroj/estructura-de-datos-registro Ordenamiento de burbuja. (s.f.). Recuperado el 03 de Febrero de 2016, de Wikipedia, la enciclopedia libre: https://es.wikipedia.org/wiki/Ordenamiento_de_burbuja
  • 29. Rúbrica para la Evaluación de la Guía de Estudio Categorías 4 3 2 1 Puntuación obtenida Muy Bien Bien Suficiente Insuficiente Introducción Contiene objetivo y explicación de uso. Contiene objetivo y explicación de uso, pero no es muy clara la redacción. Carece de alguno de los dos elementos. No tiene introducción. Contenido Se apega al programa indicativo vigente. Los contenidos se basan en los aprendizajes de las cuatro unidades del programa Incluye actividades para cumplir con los objetivos de aprendizaje. Se apega al programa indicativo vigente en un 80- 90%. Solo son tomados los contenidos de tres unidades del programa indicativo. Carece de sugerencias para desarrollar los ejercicios. Contiene 60-80% de los aprendizajes del programa, además de otros aprendizajes no incluidos en el programa. Solo son tomados los contenidos de dos unidades del programa indicativo Se enfoca principalmente a 2 objetivos de aprendizaje Sólo se apega en un 50% o menos al programa vigente. Solo son tomados los contenidos de una unidad del programa indicativo No tiene suficientes ejercicios Teoría Las explicaciones y los ejemplos son claros. Las explicaciones son claras, pero no tiene suficientes ejemplos. Las explicaciones son confusas, contiene pocos ejemplos. No hay explicación para la realización de los ejemplos. Autoevaluación Contiene al menos dos Contiene al menos un examen Contiene examen No contiene examen
  • 30. Modulo I Estructuras de Datos Fundamentales 30 exámenes simulacro con hojas de respuestas. Contiene ejemplos, mediante direcciones de acceso a sitios web actualizadas simulacro con hojas de respuesta Contiene ejemplos, pero algunas de las direcciones electrónicas son obsoletas. simulacro pero sin hoja de respuestas. Contiene ejemplos, pero no funcionan las ligas electrónicas proporcionadas. simulacro. No contiene ejemplos. Bibliografía Proporciona suficiente bibliografía, así como enlaces a sitios web donde el alumno pueda investigar y obtener práctica adicional. Proporciona poca bibliografía, pero suficientes sitios web. Proporciona bibliografía no actualizada y algunos sitios web. No indica bibliografía o sitios web para práctica adicional. Observaciones: