Anda di halaman 1dari 26

GRUPO # 5

TEMA: ESTRUCTURAS BSICAS.


INTEGRANTES:
Wesley Tobar(Coordinador)
Leslie Mero
Alejandro Cedeo
Rider Arcalla
Ronny Daza
Christian Mina
Samantha Melndez

Estructura De Datos
EN PROGRAMACIN, UNA ESTRUCTURA DE
DATOS ES UNA FORMA PARTICULAR DE
ORGANIZAR DATOS EN UNA COMPUTADORA
PARA QUE PUEDE SER UTILIZADO DE MANERA
EFICIENTE
DIFERENTES TIPOS DE ESTRUCTURAS DE
DATOS SON ADECUADOS PARA DIFERENTES
TIPOS APLICACIONES,
Y ALGUNOS SON ALTAMENTE ESPECIALIZADOS
PARA TAREAS ESPECFICAS.

LAS ESTRUCTURAS DE DATOS SON UN MEDIO


PARA MANEJAR GRANDES CANTIDADES DE DATOS
DE MANERA EFICIENTE PARA USOS TALES COMO
GRANDES BASES DE DATOS Y SERVICIOS DE
INDIZACIN DE INTERNET. POR LO GENERAL, LAS
ESTRUCTURAS DE DATOS EFICIENTES SON CLAVE
PARA DISEAR ALGORITMOS EFICIENTES.
ALGUNOS MTODOS FORMALES DE DISEO Y
LENGUAJES DE PROGRAMACIN DESTACAN LAS
ESTRUCTURAS DE DATOS, EN LUGAR DE LOS
ALGORITMOS, COMO EL FACTOR CLAVE DE
ORGANIZACIN EN EL DISEO DE SOFTWARE

EN PROGRAMACIN, UNA ESTRUCTURA DE DATOS PUEDE


SER DECLARADA INICIALMENTE ESCRIBIENDO UNA
PALABRA RESERVADA, LUEGO UN IDENTIFICADOR PARA
LA ESTRUCTURA Y UN NOMBRE PARA CADA UNO DE SUS
MIEMBROS, SIN OLVIDAR LOS TIPOS DE DATOS QUE
ESTOS REPRESENTAN. GENERALMENTE, CADA MIEMBRO
SE SEPARA CON ALGN TIPO DE OPERADOR, CARCTER O
PALABRA RESERVADA.
EN EL LENGUAJE DE PROGRAMACIN PASCAL, ES
POSIBLE CREAR UNA ESTRUCTURA DE DATOS DE LA
FORMA MENCIONADA. LA SINTAXIS BSICA ES:
ESTRUCT IDENTIFICADOR, _
MIEMBRO1:TIPODEDATO, _
MIEMBRO2:TIPODEDATO, _
...
MIEMBRO9:TIPODEDATO

Estructuras Estticas.
SON AQUELLAS EN LAS QUE EL TAMAO
OCUPADO EN MEMORIA SE DEFINE ANTES
DE QUE EL PROGRAMA SE EJECUTE Y NO
PUEDE MODIFICARSE DICHO TAMAO
DURANTE LA EJECUCIN DEL PROGRAMA.
ESTAS ESTRUCTURAS ESTN
IMPLEMENTADAS EN CASI TODOS LOS
LENGUAJES.

ES AQUELLA QUE DURANTE LA EJECUCIN DE


UN PROGRAMA SU VALOR NO CAMBIA .
POR EJEMPLO : LISTAS, VECTORES , MATRICES
PILAS , COLAS Y LISTAS DE ENLAZADAS

Arreglos
Unidimensionales
REPRESENTACIN EN MEMORIA :
LOS ARREGLOS
GUARDAN EN MEMORIA LA
CANTIDAD DE
ESPACIOS QUE SE LE INDICAN EN
LA DECLARACIN

EJEMPLO: SEA EL SIGUIEN ARREGLO


UNIDIMENSIONAL DONDE SE VA A
GUARDAR 5 DATOS DEL TIPO ENTERO
(INTIGER)
X: ARRAY[1.5] OF INTEGER
EN MEMORIA EL COMPUTADOR GUARDA 5
ESPACIOS: ESTO QUIERE DECIR EN EL
ARREGLO X EN LA POSICIN 1 GUARDA
34, EN EL ARREGLO X POSICIN 2
GUARDA 22 AS HASTA LA ULTIMA
POSICIN DEL ARREGLO X POSICIN 5
GUARDA 72.

X[1]
34
X[2]
22
X[5]

x[3]
39
x[4]
63
72

DEDARACION DE LOS ARREGLOS UNIDIMENSIONALES:


SE DECLARA EL TIPO DEL ARREGLO, CON LA
PALABRA RESERVADA TYPE , LUEGO SE DECLARA LA
VARIABLE DE TIPO ARREGLO, ESTO SE HACE EN EL
BLOQUE DE DECLARACIN DE VARIABLES PALABRA
RESERVADA VAR.

TYPE
NOMBRE ARREGLO= ARRAY[X.Y] OF TIPO
DATO;
EJEMPLOS: SALARIOS= ARRAY[1X] OF
REAL;
NOMBRE TRABAJADOR= ARRAY [1..X] OF
STRING;
NOTA: EL TIPO DE DATO DEL ARREGLO
PUEDE SER : INTEGER, REAL, BOOLEAN,
STRING ETC.

Algoritmos De Ordenamiento
EN COMPUTACIN Y MATEMTICAS UN
ALGORITMO DE ORDENAMIENTO ES UN
ALGORITMO QUE PONE ELEMENTOS DE
UNA LISTA O UN VECTOR EN UNA
SECUENCIA DADA POR UNA RELACIN
DE ORDEN, ES DECIR, EL RESULTADO DE
SALIDA AH DE SER UNA PERMUTACIN-O
REORDENAMIENTO- DE LA ENTRADA
QUE SATISFAGA ALA RELACIN DE
ORDEN DADA.

LOS ALGORITMOS DE ORDENAMIENTO SE


PUEDEN CLASIFICAR EN LAS SIGUIENTES
TRES MANERAS:
- LA MAS COMN ES CLASIFICAR SEGN EL
LUGAR DONDE SE REALICE LA
ORDENACIN
- ALGORITMOS DE ORDENAMIENTO
INTERNO: EN LA MEMORIA DEL ORDENADOR.
- ALGORITMOS DE ORDENAMIENTO
EXTERNO:
EN UN LUGAR EXTERNO COMO UN DISCO
DURO.

- POR EL TIEMPO QUE TARDAN EN


REALIZAR LA ORDENACIN, DADAS EN
ENTRADAS YA ORDENADAS O
INVERSAMENTE ORDENADAS:
- ALGORITMOS DE ORDENACIN
NATURAL: TARDA LO MNIMO POSIBLE
CUANDO LA ENTRADA ESTA
ORDENADA.
- ALGORITMOS DE ORDENACIN NO
NATURAL: TARDA LO MNIMO POSIBLE
CUANDO LA ENTRADA ESTA
INVERSAMENTE ORDENADA.

- POR ESTABILIDAD: UN ORDANAMIENTO ESTABLE


MANTIENE EL ORDEN RELATIVO QUE TENAN
ORIGINALMENTE LOS ELEMENTOS CON CLAVES
IGUALES. POR EJEMPLO, SI UNA LISTA
ORDENADA POR FECHA SE REORDENA EN
ORDEN ALFABTICO CON UN ALGORITMO
ESTABLE, TODOS LOS ELEMENTOS CUYA CLAVE
ALFABTICA SEA LA MISMA QUEDARAN EN
ORDEN DE FECHA.
EJEMPLO DE UN ALGORITMO DE ORDENAMIENTO EXTERNO
1. STRAIGHT MERGING
2. NATURAL MERGING
3. BALANCED MULTIWAY MERGING
4. POLYPHASE SORT
5. DISTRIBUTION OF INITIAL RUNS

Bsqueda En Arreglos
Unidimensionales
UN ARREGLO UNIDIMENSIONAL ES UN TIPO
DE
DATOS ESTRUCTURADO QUE ESTA
FORMADO POR UNA COLECCIN FINITA Y
ORDENADA DE DATOS DEL MISMO TIPO. ES
LA ESTRUCTURA NATURAL PARA MODELAR
LISTAS DE ELEMENTOS IGUALES. LOS
DATOS QUE SE GUARDEN EN LOS
ARREGLOS TODOS DEBEN SER DEL MISMO
TIPO.

Arreglos
Bidimensionales
Los arreglos bidimensionales son tablas de
valores. Cada elemento de un arreglo
bidimensional esta simultneamente en una
fila y en una columna. En matemticas, a
los arreglos bidimensionales se les llaman
matrices, y son muy utilizados en
problemas de ingeniera.

Cadenas de Caracteres.
Enprogramacin, unacadena de
caracteres,palabras,ristrade
caracteresofrase(string, eningls) es una
secuencia ordenada (de longitud
arbitraria, aunque finita) de elementos
que pertenecen a un ciertolenguaje
formaloalfabetoanlogas a unafrmulao
a unaoracin. En general, una cadena de
caracteres es una sucesin
decaracteres(letras,nmerosu
otrossignososmbolos).

Si no se ponen restricciones al alfabeto, una cadena podr estar


formada por cualquier combinacin finita de loscaracteres
disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los
nmeros del '0' al '9', el espacio en blanco ' ', smbolos diversos '!',
'@', '%', etctera).
En este mismo mbito, se utilizan habitualmente como untipo de
datopredefinido, para palabras, frases o cualquier otra sucesin
de caracteres. En este caso, se almacenan en unvectorde datos,
omatrizde datos de una sola fila (array, en ingls). Las cadenas
se pueden almacenar fsicamente:
seguidas;
enlazados letra a letra.
Generalmente los caracteres se guardan uno a continuacin de
otro para fines de eficiencia en el acceso.
Un caso especial de cadena es la que contiene cero caracteres. A
esta cadena se la llamacadena vaca; enteora de autmatas, es
comn representarla por medio de laletra griega

Representacin.
Una cadena suele ser representada entre comillas
dobles superiores ("palabra"), mientras que un
carcter de esa cadena (uncharen ingls) suele ser
representado entre comillas simples ('p'). Por
ejemplo, enC:
charAt c = 'a';
char str[5] = "hola";
Generalmente para acceder a un carcter en una
posicin determinada se suele usar la
formavariable[posicin]como cuando se accede a
un vector.

Para poder mostrar una comilla (") dentro de


la cadena y no tener problemas con las
comillas que la delimitan, se usan secuencias
de escape. Esto se aplica a otros caracteres
reservados o no imprimibles como elretorno
de carro. No obstante, las expresiones para
producir estas secuencias de escape
dependen del lenguaje de programacin que
se est usando. Una forma comn, en muchos
lenguajes, de escapar un carcter es
anteponindole un \ (sin comillas), p. e.:
\" (sin comillas).

Estructuras.
Una estructura es un tipo de dato compuesto que
permite almacenar un conjunto dedatos de
diferente tipo. Los datos que contiene una
estructura pueden ser de tipo simple (caracteres,
nmeros enteros o de coma flotante etc.) o a su vez
de tipo compuesto (vectores, estructuras, listas,
etc.).

A cada uno de los datos o elementos almacenados


dentro de una estructura se les denominamiembros
de esa estructura y stos pertenecern a un tipo de
dato determinado.

Uniones.
En programacin, unaunines unvalorque puede poseer
varias representaciones o formatos; o unaEstructura de
datosque consiste en unavariableque puede almacenar
dicho valor. Algunoslenguajes de
programacinadmitentipos de datosespeciales,
llamadosunion types, para describir dichos valores y
variables.
Dependiendo del lenguaje y del tipo, un valor unin puede
ser usado en operaciones como, por ejemplo, asignacin o
comparacin de igualdad, sin necesidad de saber su tipo
especfico. Por el contrario, otras operaciones si que
requieren saber el tipo de dato ya sea por medio de
informacin externa, o por el uso de untagged union.

A causa de sus limitaciones de uso, las uniones son normalmente


provedas en lenguajes sin tipado o en modo inseguro (como
enC). Tienen la ventaja sobre las uniones etiquetadas por no
necesitar espacio para guardar el tag.
El nombre "unin" proviene de la definicin formal de type. Si
uno mira el type como elConjuntode todos los valores que ese
type puede ser, un unin type es simplemente la Uninde los
types que lo constituyen, puesto que es capaz de almacenar
cualquier valor que puedan sus elementos. Adems, puesto que
la unin matemtica evita los duplicados, si ms de un campo
puede almacenar un valor comn, es imposible decir, a partir del
valor, qu campo fue el ltimo en ser escrito.
union miUnion { // definicin de unin de nombre miUnion
int i;
double d;
char ch;
char *ptr;
} mu, *muptr=μ // declara un objeto y un puntero al
objeto.

Punteros.
Enciencias de la computacin, unpunteroes un
objeto dellenguaje de programacin, cuyo valor se
refiere a (o "apuntaa") otro valor almacenado en
otra parte de lamemoria del ordenadorutilizando
sudireccin. Un punteroreferenciaa una ubicacin
en memoria, y a la obtencin del valor almacenado
en esa ubicacin se la conoce como
desreferenciacindel puntero. A modo de analoga,
un nmero de pgina en el ndice de un libro podra
considerarse un puntero a la pgina correspondiente;
desreferenciar un puntero sera como ir a la pgina
con el nmero de pgina especificada en el ndice.

Los punteros a datos mejoran significativamente el


rendimiento de las operaciones repetitivas tales
comocadenasde desplazamiento,tablas de
bsqueda,tablas de controly estructurasrbol. En
particular, muchas veces es mucho ms barato en tiempo y
espacio copiar y des referenciar punteros que copiar y
acceder a los datos a los cuales apunta el puntero.
Los punteros tambin se utilizan para mantener las
direcciones de los puntos de entrada para las subrutinas
parallamadasenprogramacin por procedimientosy enlaces
para vincular a lasbibliotecas de enlace dinmico (DLL) en
tiempo de ejecucin. En la programacin orientada a
objetos, lospunteros a funcionesse utilizan para mtodos
deunin, muchas veces utilizando lo que se llamatablas de
mtodos virtuales.
La sintaxis bsica para definir un puntero es:4
int * ptr;

Los punteros permiten simular el paso por


referencia, crear y manipular estructuras
dinmicas de datos, tales como listas
enlazadas, pilas, colas y rboles.
Generalmente las variables contienen valores
especificos. Los punteros son variables pero
en vez de contener un valor especifico,
contienen las direcciones de las variables a
las que apuntan. Para obtener o modificar el
valor de la variable a la que apuntan se
utiliza el operador de indireccin. Los
punteros, al ser variables deben ser
declaradas como punteros antes de ser
utilizadas.

Anda mungkin juga menyukai