Documente Academic
Documente Profesional
Documente Cultură
TUTOR:
RESUMEN:
CAPITULO I. INTRODUCCION
Por tanto, una estructura de datos vendr caracterizada tanto por unas ciertas
relaciones entre los datos que la constituyen ( el orden de las componentes de un
vector de nmeros reales), como por las operaciones posibles en ella. Esto supone
que podamos expresar formalmente, mediante un conjunto de reglas, las relaciones y
operaciones posibles (tales como insertar nuevos elementos o como eliminar los ya
existentes). Por el momento y a falta de otros, pensemos en un vector de nmeros,
como el mejor ejemplo de una estructura de datos.
un archivo, est constituido por registros, stos por campos, que se componen, a su
vez, de datos de tipo simple. Por un abuso de lenguaje, se tiende a hacer sinnimos,
el dato estructurado con su estructura correspondiente. Aunque ello evidentemente no
es as, a un primer nivel, en este libro, asumiremos esta identificacin.
Para muchos propsitos es conveniente tratar una estructura de datos como si fuera
un objeto individual y afortunadamente, muchos lenguajes de programacin permiten
manipular estructuras completas como si se trataran de datos individuales, de forma
que los datos estructurados y simples se consideran a menudo por el programador de
la misma manera. As a partir de ahora un dato puede ser tanto un entero como una
matriz, por nombrar dos ejemplos.
Los datos de tipo simple tienen una representacin conocida en trminos de espacio
de memoria. Sin embargo, cuando nos referimos a datos estructurados esta
correspondencia puede no ser tan directa; por ello vamos a hacer una primera
clasificacin de los datos estructurados en: contiguos y enlazados. Las estructuras
contiguas o fsicas son aquellas que al representarse en el hardware del ordenador, lo
hacen situando sus datos en reas adyacentes de memoria; un dato en una estructura
contigua se localiza directamente calculando su posicin relativa al principio del rea
de memoria que contiene la estructura.
relacionan unos con otros mediante punteros (un tipo de dato que sirve para apuntar
hacia otro dato y por tanto para determinar cul es el siguiente dato de la estructura).
Estas dos clasificaciones nos ayudarn a exponer los distintos tipos de datos
estructurados, incidiendo en las ventajas e inconvenientes para su almacenamiento y
tratamiento, en trminos de la eficacia de una determinada aplicacin ya sea de
economa espacial (no emplear ms memoria de la necesaria) o temporal (emplear el
menor tiempo posible en las operaciones).
Vamos a estudiar una serie de agrupaciones de datos que son utilizadas en todos los
lenguajes de programacin, y que tienen en comn la ubicacin de sus datos en
zonas de memoria adyacentes.
CADENA:
En el segundo caso el carcter elegido como fin-de-cadena ha sido el #. La cadena que no contiene
ningn carcter se denomina cadena vaca y su longitud es 0, que no tiene que ser confundida por una
cadena formada slo por blancos (o espacios), cuya longitud es igual al nmero de blancos que
contiene. De esta manera, una variable de tipo cadena de tamao 10 puede guardar cadenas de 10
caracteres, pero tambin de menos si indicamos dnde terminan los caracteres de la cadena. Por
ejemplo la cadena
Asignacin: Guardar una cadena en una variable tipo cadena. Como en toda
asignacin a una variable, la cadena que se guarda puede ser una constante, una
variable tipo cadena o una expresin que produzca un dato tipo cadena. Por ejemplo:
nombre Oscar
nombre mi-nombre-de-pila
ARREGLO:
unidimensionales (vectores)
bidimensionales (matrices)
multidimensionales
VECTORES:
Ya hemos dicho que las operaciones sobre arreglos se pueden realizar con elementos
individuales o sobre la estructura completa mediante las correspondientes
instrucciones y estructuras de control del lenguaje. Las operaciones sobre elementos
del vector son:
EJEMPLO:
La experiencia a la hora de buscar un dato entre una coleccin de ellos nos dice que
este proceso vara sensiblemente segn que stos estn o no ordenados; por esta
razn presentaremos dos mtodos bsicos, segn que el vector est desordenado u
ordenado.
Bsqueda binaria: Se aplica a vectores cuyos datos han sido previamente ordenados
y es un ejemplo del uso del divide y vencers para localizar el valor deseado. Ms
adelante, trataremos los algoritmos (y su coste) para ordenar un vector; sin embargo
ahora supondremos que esta ordenacin ya ha tenido lugar. El algoritmo de bsqueda
binaria se basa en los siguientes pasos:
Para buscar el elemento 2983, se examina el nmero central 2898, situado en la quinta
posicin, que resulta ser distinto. Al ser 2983 mayor que 2898, se desprecia la primera
mitad del vector, quedndonos con la segunda:
Se examina ahora el nmero central 3005, situado en la posicin 7, que resulta ser
distinto. Al ser 2983 menor que 3005, nos quedamos con la primera mitad del vector:
Finalmente encontramos que el valor buscado coincide con el central. Ntese que si
el valor buscado hubiera sido, por ejemplo, el 2900, la bsqueda habra finalizado con
fracaso al no quedar mitades donde buscar. Vamos a dar el algoritmo de bsqueda
binaria para encontrar un elemento K, en un vector de elementos X(1), X(2),..., X(n),
previamente clasificados en orden ascendente (ordenado en orden creciente si los
datos son numricos, o alfabticamente si son caracteres).
Las variables enteras BAJO, CENTRAL, ALTO, indican los lmites inferior, central y
superior del intervalo de bsqueda, en cada subvector que sucesivamente se est
considerando, durante la bsqueda binaria.
CAPITULO.IV CONCLUSION
BIBLIOGRAFIA