Está en la página 1de 14

TEMA 3

Tipos abstractos y Estructuras de


datos. Organizaciones de ficheros.
Algoritmos. Formatos de
información y ficheros.
BLOQUE II TEMA 3

1.Tipos abstractos y estructuras de datos. Tipos abstractos


1.1.Estructura de datos
Los sistemas o métodos de organización de datos que permiten un
almacenamiento eficiente de la información en la memoria principal son
conocidos como estructuras de datos.
Podríamos decir pues, que una estructura de datos es un conjunto de
variables de un determinado tipo agrupados y organizados para representar
un comportamiento. Existen tipos de datos:
• Estáticas: tamaño de memoria fijo definido en tiempo de compilación
(antes de la ejecución). Arrays, conjunto de cadena.

o Cadenas: La cadena es quizás la estructura más simple de una


estructura de datos y más aún, de una contigua o secuencial. En una
variable de tipo cadena (string) puede almacenar una palabra, o
una frase; un nombre, un nombre completo (con apellidos, incluyendo
espacios). (Pregunta examen)

o Array: Secuencia contigua de un número fijo de elementos


(estáticos) homogéneos (del mismo tipo). Dichos elementos se
almacenarán en memoria en posiciones contiguas. El acceso se
realiza por índices. Los arrays de una dimensión se les llama
“vectores”. Un array bidimensional se denomina matriz y en general
de más dimensiones se les llama poliedros. (Pregunta examen)

o Punteros: Un puntero es una variable que almacena la dirección de


memoria de otra variable, es decir, almacena el valor del lugar
físico en la memoria en donde se encuentra almacenada dicha
variable.

Una referencia es una variable que almacena la dirección de memoria


en donde se ubica un objeto.

• Dinámicas (lineales o secuenciales): tamaño de memoria definido en


tiempo de ejecución. Listas, listas enlazadas con punteros, ficheros,
árbol, grafo.

o Listas: Se trata de una estructura de datos secuencial. ordenados


de manera consecutiva. Nodos (es un punto de intersección, conexión o
unión de varios elementos que confluyen en el mismo lugar).

a) Lista densa: La estructura de la lista determina cuál es el


siguiente elemento de la lista. Es una lista contigua. Ej.
ARRAY

b) Lista enlazada o encadenada: dinámicas. La posición del


siguiente elemento la determina el elemento actual. El último
es null (dato desconocido o valor inexistente).

▪ Las listas enlazadas simples: Cada elemento solo contiene


una referencia al nodo siguiente, en un solo sentido.

235
BLOQUE II TEMA 3

▪ Las listas enlazadas dobles: Dos referencias por nodo, uno


al siguiente y otro al anterior, lo que permite recorrer
la lista en ambos sentidos. (también tiene nulls).

c) Listas ordenadas: La posición de cada elemento depende de su


contenido. Cuando hay que insertar un nuevo elemento hay que
hacerlo en el lugar que le corresponda dependiendo del orden
y de la clave escogidos para ello se deben de realizar los
siguientes pasos:

▪ Localizar el lugar correspondiente al elemento a


insertar.
▪ Reservar memoria.
▪ Enlazarlo.

d) Listas reorganizables: Son aquellas en las que cada vez que


se accede a un elemento, éste se coloca al comienzo de la
lista.

e) Listas circulares: Son aquellas en las que el último elemento


tiene un enlace al primero. Su uso está relacionado con las
colas.

▪ Simples circulares (siguiente nodo del último apunta al


primero) o doblemente circulares (2 enlaces…)
**nodo centinela (falso/ficticio) al principio o al final, no guarda datos:
asegurando que nodo tiene anterior o posterior. (Pregunta examen)
o Pilas: Es una estructura de datos dinámica cuyos elementos se
manipulan siguiendo una política LIFO: last-in, first-out, es decir
el último dato almacenado es el primero en ser sacado y procesado.
La posición del último elemento se denomina tope de la pila.
Operaciones a realizar: inicializar, apilar, desapilar y vacío.

Cuando tenemos una expresión aritmética en notación postfija, con


valores reales, y queremos evaluarla, lo que tendremos que hacer
será utilizar una pila de operandos, es decir, de números reales.
Tendremos un algoritmo que evaluará la expresión, leyendo los datos
de la expresión uno a uno y tratándolos según su tipo. (Pregunta
examen)

o Colas: Se trata de otro tipo de estructura de acceso restrictivo


a sus elementos. Es una estructura FIFO (First In-First Out) en
donde las operaciones básicas son: inicializar, encolar,
desencolar y vaciar. En este tipo de listas se insertan pues los
nuevos elementos al final de la lista y se extraen desde el inicio
de la lista. (Pregunta examen)

o Bicola: Es un tipo de cola especial que permiten la inserción y


eliminación de elementos de ambos extremos de la cola. Puede
representarse a partir de un vector y 2 índices. Entrada
restringida (inserciones en final y eliminaciones en ambos) Salida
restringida (eliminaciones en frente e inserciones ambos).
(Pregunta examen)

236
BLOQUE II TEMA 3

o Mapa: No tiene un orden definido. Relación de “una clave-un valor”,


no podemos tener 2 claves con el = valor, ni una clave con 2
valores. vector-asociativo. (Pregunta examen)

o Diccionario. Es una estructura de datos que nos permite guardar


parejas de claves y valores. (Pregunta examen)

o Bolsa colección de un número arbitrario de elementos (todos del


mismo tipo) que no son necesariamente distintos.

o Conjunto es una colección (contenedor) de ciertos valores (pueden


ser distinto tipo), sin orden concreto ni valores repetidos.
(punteros)
• Dinámicas (No lineales o no Secuenciales): La memoria que ocupan se
asigna durante la ejecución.

o Arboles: es un grafo acíclico (lo que no cumple un ciclo), conexo y


no dirigido. Es decir, es un grafo no dirigido en el que existe
exactamente un camino entre todo par de nodos. Es no secuencial y
jerárquica (nodos). Binarios, en los que cada nodo padre tiene dos
nodos hijos. Máximo número Nodos = 2^(Nivel-1). Es una estructura
dinámica cuyo recorrido se puede realizar en amplitud y en
profundidad. (Pregunta examen)

o Árbol en Equilibrio – Árbol AVL: Cuando la diferencia entre las


alturas de los subárboles de cada uno de sus nodos es, como mucho
1
Nomenclatura sobre árboles:
o Raíz: Es aquel elemento que no tiene
antecesor; ejemplo: ‘A’.
**También se puede decir Orden, un
árbol de orden N, solo puede tener N
hijos.
o Rama: arista entre dos nodos.
o Hoja: nodo que no tiene descendientes:
grado 0. Ejemplo: ‘D’.
o Antecesor: un nodo ‘X’ es antecesor de
un nodo ‘Y’ si por alguna de las ramas de ‘X’ se puede llegar a
‘Y’.
o Sucesor: un nodo ‘X’ es sucesor de un nodo ‘Y’ si por alguna de
las ramas de ‘Y’ se puede llegar a ‘X’.
o Grado** de un nodo: número de descendientes directos que tiene.
Ejemplo: ‘C’ tiene grado 2, ‘D’ tiene grado 0, ‘A’ tiene grado 2.
(binario).
o Nodo interno: aquel que tiene al menos un descendiente.
o Nivel: número de ramas que hay que recorrer para llegar de la raíz
a un nodo + 1. ‘A’ es 1, ‘E’ es 3. (en alguna documentación los
niveles empiezan en 0).
o Altura es la longitud del camino más largo. Número de aristas en
el camino más largo entre la raíz y una hoja. Ejemplo: 3 (a veces
4)
o Profundidad, la longitud del camino a un determinado nodo. número
de aristas desde la raíz del árbol hasta un nodo.

237
BLOQUE II TEMA 3

o Anchura: es el mayor valor del número de nodos que hay en un nivel.


En el ejemplo la anchura es 3.
o Grado de un árbol: es el máximo/mayor grado de todos sus nodos.
(Pregunta examen)
Declaración de árbol binario:
• Se definirá el árbol con una clave de tipo entero (puede ser cualquier
otro tipo de datos) y dos hijos: izquierdo (izq) y derecho (der).
Para representar los enlaces con los hijos se utilizan punteros. El
árbol vacío se representará con un puntero nulo.
Recorridos sobre árboles binarios
• Se consideran dos tipos de recorrido: recorrido en profundidad y
recorrido en anchura o a nivel. Puesto que los árboles no son
secuenciales como las listas, hay que buscar estrategias alternativas
para visitar todos los nodos.
Recorridos en profundidad: (Pregunta examen)
• Recorrido en pre-orden: consiste en
acceder al nodo actual (raíz), después
acceder al subárbol izquierdo y una
vez accedido, acceder al subárbol
derecho. En el ejemplo sería en el
orden siguiente: A BD CEGH F
• Recorrido en in-orden u orden central:
se accede al subárbol izquierdo, al
nodo actual, y después se visita el
subárbol derecho. En el ejemplo sería
en este orden: DB A GEHCF
• Recorrido en post-orden: Se accede
primero al subárbol izquierdo,
después al subárbol derecho, y por
último al nodo actual. En el ejemplo
sería: DB GHEFC A
Grafos
• En teoría de grafos, un árbol no jerárquico es un grafo en el que
cualquier par de vértices están conectados por exactamente un camino,
o alternativamente, es un grafo conexo acíclico (que no cumple un
ciclo). (Pregunta examen)
• Un bosque es un grafo disconexo acíclico. Alternativamente, se puede
definir como una unión disjunta de árboles, es decir, es un grafo
disconexo cuyas componentes son árboles.
• Un grafo en el que cada par de vértices está conectado por un camino
que los une se denomina grafo conexo.
• Conjunto de nodos conectados, puede haber grafos dirigidos (vértices
con orientación) y grafos no dirigidos (vértices sin orientación).
• Orden de un Grafo: Es el número de nodos (vértices del grafo).
Incidencia: una arista es incidente a un vértice si ésta lo une a
otro
• Medida el número de aristas. nodos son adyacentes (arista que los
une)

238
BLOQUE II TEMA 3

• Grado de un nodo: Es el número de ejes (aristas) que inciden sobre


el nodo. (Pregunta examen)
• Tipos de Grafos: Nulo, Vacío, Trivial, Multígrafo, Grafo Completo,
bipartito, bipartito completo, plano, rueda, perfecto.
2.Organización de ficheros
Entendemos como fichero un conjunto ordenado de información, aunque por
norma general podríamos decir que es cualquier tipo de información
almacenada en un soporte informático.
• Registro: conjunto de información relativa a cada uno de los elementos
componentes del fichero.
• Campo: características particulares e individuales que forman los
registros contienen la información detallada de cada registro.
• Sistema de archivos (file system): estructura de directorios con
algún tipo de organización el cual nos permite almacenar, crear y
borrar archivos en diferentes formatos.
Tipos de Organización de ficheros
El criterio de clasificación de ficheros en función de su organización
responde a la forma en que se distribuyen los datos de los registros sobre
el soporte físico. Suelen distinguirse 3 tipos de organización:
secuencial, indexada y aleatoria (o relativa o directa).
Lógicamente, la organización condiciona la forma o modo de acceso a los
datos. El modo de acceso básicamente es secuencial o directo. Por tanto,
la mayoría de veces, se combinan la organización del fichero con su forma
de acceso, distinguiendo las siguientes organizaciones.
a) Secuencial: Esta organización distribuye los registros uno a
continuación de otro en el soporte físico. Está indicada en ficheros
estables de uso elevado. Aprovecha el soporte al máximo, al no generar
fragmentación, pero obliga, en principio a leer los registros
anteriores a uno dado y no permite insertar nuevos registros entre
dos ya grabados. Deben tener en cuenta el soporte de almacenamiento.

Para tratar un fichero el SO usa un puntero que señala al primer


registro al abrir el fichero y se va desplazando en la misma dirección
cada vez que se lee o graba un registro. La estructura del fichero
se completa con un registro de cabecera con información sobre el
fichero y un registro de marca de fin, EOF (End Of File), o similar,
que identifica el último registro. El registro EOF se graba al crear
el fichero y se desplaza al añadir nuevos registros.

Aunque la organización sea secuencial, el modo de acceso puede


presentar variantes para mejorar las prestaciones que pueden ser
usadas con soportes direccionables. Las más empleadas son:

• Organización secuencial indexada. Los registros se graban


secuencialmente, pero pueden recuperarse con acceso directo
usando un fichero adicional de índices con información de la
posición de cada registro.

239
BLOQUE II TEMA 3

• Organización secuencial encadenada. Permite ordenar los


registros lógicamente, de forma diferente al orden físico de
grabado, usando campos adicionales con punteros.

b) Indexada: Los ficheros indexados se basan en el uso de índices para


acceder a un registro sin leer los anteriores. Permiten acceso
secuencial y directo. Los registros deben contar con al menos un
campo que lo identifique unívocamente, el campo clave, que sirve de
índice. Una clave es primaria si el campo clave no contiene valores
duplicados. Un campo clave con valores duplicados es una clave
alternativa.

El modo de acceso en un fichero indexado puede ser secuencial o


directo, como se ha dicho. El acceso secuencial lee los registros en
el orden marcado por el campo clave, independientemente al orden de
grabación. El acceso directo usa el campo clave del registro a
acceder, lo que requiere soportes direccionables, si no, no podría
usarse el acceso directo. Un fichero indexado está formado por:

• Área de datos. Contiene los registros en un soporte de


almacenamiento directo, en secuencia ascendente, de acuerdo con
los valores de la clave y en páginas o bloques de longitud fija.

• Área de índices. La crea el SO al almacenar datos. Contiene una


tabla que asocia claves con direcciones del área de datos. Cada
entrada está formada por el valor más alto de la clave de cada
grupo de registros y un puntero con la dirección del primer
registro del grupo.

• Área de desbordamiento (overflow). Zona de grabación de


registros sin cabida en el área de datos. Los nuevos registros
se insertan y enlazan con punteros conservando el orden lógico
que marca la clave. El tratamiento de índices y punteros lo
realiza el SO, de forma transparente al usuario.

Existen diferentes formas de tratar índices, según el SO o lenguaje


de programación. Las organizaciones de índices más usadas en la
práctica son ISAM (Indexed Sequential Access Method) y VSAM (Virtual
Storage Access Method). Cuando el fichero de datos tiene muchos
registros puede que el fichero de índices se haga demasiado grande y
las búsquedas se ralenticen. Para evitarlo se puede recurrir a una
jerarquía de índices.

La indexación permite acceso directo a registros, evitando


fragmentación y trato secuencial. Es muy usada y su principal ventaja
es permitir la actualización sin crear nuevos ficheros (como en el
caso secuencial) y sus inconvenientes ocupar más espacio que los
ficheros secuenciales y presentar un tiempo de acceso creciente al
crecer el número de registros.

c) Aleatoria, relativa o directa: Esta organización independiza el


orden de alta de un registro. La posición de grabación se genera
mediante una transformación del campo clave. El espacio se divide en
celdas que contienen un único registro y se numeran correlativamente

240
BLOQUE II TEMA 3

permitiendo el acceso directo con la dirección de la celda. Sólo se


da en soportes direccionables. Requiere menor tiempo de acceso y se
usa cuando el acceso se hace empleando siempre la misma clave y la
velocidad de acceso a un registro es un factor determinante.

Para localizar un registro es necesario conocer la clave. Las técnicas


de direccionamiento se usan para relacionar el valor de la clave C y
la dirección de la celda a acceder, D. La elección de una técnica de
direccionamiento concreta debe cumplir al menos, que sea fácil de
aplicar, que genere poca fragmentación y que las claves de registros
diferentes generen direcciones diferentes.

Cuando 2 o más claves proporcionan la misma dirección se dice que


genera sinónimos o colisiones. Si se produce hay que solucionar la
ambigüedad. Para ello se emplean algunos métodos como una zona de
desbordamiento o búsqueda lineal (o direccionamiento abierto). La
búsqueda lineal consiste en almacenar el registro que colisiona en
el primer hueco libre a partir de la dirección que le corresponde,
ya ocupada. La zona de desbordamiento consiste en crear un área
especial del fichero en la que grabar los registros que colisionan;
es el sistema más empleado.

El uso de ficheros relativos requiere identificar los registros


lógicos con un número relativo de registro, que el usuario
identificará con el valor de un campo. Para transformar la clave en
la dirección del registro hay técnicas que se clasifican en
direccionamiento directo, asociado y calculado (o hashing o
aleatorio).

• Dir. Directo. La dirección relativa es la propia clave. El caso


óptimo es una clave numérica de rango entre 1 y el tamaño en
registros del fichero. La clave k conducirá a la celda buscada
(la k-ésima).

• Dir. Asociado. Asocia una dirección a cada clave en una tabla.


Al añadir registros, las claves se añaden al final de la tabla.
Si la tabla está desordenada, se ralentiza, luego suele
mantenerse su orden en MP.
• Dir. Calculado (hashing). Usa una función resumen que relaciona
la clave con el número de celda. La función transforma la clave
en un número entre 1 y el número de celdas. El problema son las
colisiones, situación que no se da en las otras técnicas. También
llamada organización direccionada dispersa. (Pregunta examen)
Tabla de Hash
Una tabla hash o mapa hash es una estructura de datos que asocia llaves o
claves con valores. La operación principal que soporta de manera eficiente
es la búsqueda: permite el acceso a los elementos (teléfono y dirección,
por ejemplo) almacenados a partir de una clave generada usando el nombre,
número de cuenta o id. Funciona transformando la clave con una función
hash en un hash, un número que la tabla hash utiliza para localizar el
valor deseado.

241
BLOQUE II TEMA 3

Respecto a la resolución de colisiones que se pueden producir cuando se


utilizan las tablas de dispersión (tablas de hash). Sus métodos principales
son hashin abierto y hashing cerrado. (Pregunta examen)
3.Algoritmos
Un algoritmo es un conjunto finito de reglas que dan una secuencia de
operaciones para resolver todos los problemas de un tipo dado. El algoritmo
debe tener un número finito de pasos, que deben definirse de forma precisa.
Un algoritmo tendrá cero o más entradas y una o más salidas, en relación
con las entradas.
Podemos definir complejidad algorítmica como representación de la cantidad
de recursos que necesita un algoritmo para resolver un problema. (Pregunta
examen)
• Algoritmos de búsqueda: se emplean para la localización de los datos,
existe un conjunto de datos sobre donde nos interesara realizar una
consulta o modificación y debemos obtener la posición. Principales
algoritmos de búsqueda:

o Búsqueda secuencial: recorrer y examinar cada uno de los elementos


del array hasta encontrar el elemento buscado.
o Búsqueda binaria o dicotómica: para utilizar este algoritmo el
array debe estar ordenado, la búsqueda consiste en dividir el array
por su elemento medio en dos subarrays más pequeños y comprar el
elemento con el del centro, si coinciden la búsqueda termina, si
el elemento es menor debe estar en la mitad izquierda, si es mayor
en la derecha.
o Búsqueda indirecta: búsqueda de otro objeto intermedio que mantenga
una relación espacial con el objeto buscado, demostrando una mayor
eficiencia.
o Búsqueda mediante transformación de claves (hashing): aumenta la
velocidad de búsqueda, no requiere que los elementos estén
ordenados, consiste en asignar a cada elemento un índice mediante
una transformación del elemento, ser realiza mediante una función
de conversión llamada hash.

• Algoritmos de ordenación: Organizar ciertos datos (normalmente arrays


o ficheros) mediante una regla prefijada, puede ser:
o Selección: consiste en buscar el elemento más pequeño del array y
ponerlo en primera posición; luego, entre los restantes, sed busca
el elemento más pequeño y se coloca en segundo lugar y así
sucesivamente.
o Complejidad algorítmica: cantidad de recursos que necesita un
algoritmo para resolver un problema.
o Inserción directa: sublista ordenada de elementos del array,
insertando el resto en el lugar adecuado para que la sublista no
pierda el orden.
o Inserción binaria: mismo método que la inserción directa, excepto
la búsqueda del orden de un elemento en la sublista ordenad se
realiza mediante una búsqueda binaria.
o Shell: mejora del método de inserción directa, utilizando cuando
el array tiene un gran número de elementos. No se compara a cada
elemento con el de su izquierda, como en el de inserción, sino con

242
BLOQUE II TEMA 3

el que está un cierto número de lugares (llamado salto). Se van


dando pasadas hasta que el salto vale 1.
o Burbuja (Bubblesort)(Algoritmo de ordenación complejidad cuadrática):
revisando cada elemento de la 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 necesiten más intercambios. También conocido como método
del intercambio directo dado que solo usa comparaciones para operar
elementos, se lo considera un algoritmo de comparación. Pasadas
que realiza es N-1. Consiste en comparar pares de elementos
adyacentes e intercambiarlos entre sí, si no están en orden, hasta
que todo el conjunto de elementos se encuentre ordenado. (Pregunta
examen)
o Ordenamiento rápido (Quicksort)(El más Rápido):Se utiliza un
pivote, los elementos menores se pasan a un lado y los mayor al
otro. Se repite el proceso en cada uno de los lados n veces. Divide
y vencerás. Trabaja en array auxiliar, implica memoria externa.
(Pregunta examen)
o Ordenamiento Radix (Radix sort): se basa en la clasificación de
los datos que queremos ordenar por una clave. Dicha clave ha de
ser una característica de cada dato que pueda ser descompuesta en
elementos más pequeños que permitan clasificar los elementos poco
a poco (unidades, decenas, centenas…). Para ordenar los elementos
tenemos que crear un número finito de urnas, de forma que en cada
urna los elementos estén relacionados por la clave y que así
podamos separarlos.
o HeapSort: Por montículos. No recursivo y con complejidad
computacional. Almacenar todos los elementos en un montículo (heap)
y extraerlos de la cima de uno en uno para obtener un arreglo
ordenado.
• Dos algoritmos cálculo de caminos mínimos

o Algoritmo Dijkstra: explora todos los caminos más cortos que parten
del nodo original y llevan a todos los demás nodos.
o Algoritmo de Floyd: elige un nodo intermedio de un camino y calcula
la distancia mínima que hay entre los dos nodos.
o Búsqueda mediante transformación de claves (hashing) (hashing
abierto y cerrado (resuelven conflictos)) (Tratamiento
Colisiones). Aumenta la velocidad de búsqueda, no requiere que los
elementos estén ordenados. Asignar a cada elemento un índice
mediante una transformación del elemento (función hash).
o El algoritmo de Kruskal es un algoritmo de la teoría de grafos
para encontrar un árbol recubridor mínimo en un grafo conexo y
ponderado. Es decir, busca un subconjunto de aristas que, formando
un árbol, incluyen todos los vértices y donde el valor de la suma
de todas las aristas del árbol es el mínimo. (Pregunta examen)
o Algoritmo voraz (greedy algorithms): es una estrategia de búsqueda
por la cual se sigue una regla consistente en elegir la opción
óptima en cada paso local con la esperanza de llegar a una solución
general óptima. También se caracteriza por resolver un problema
mediante iteraciones, seleccionando en cada iteración la solución
localmente óptima. (Pregunta examen)
Algoritmo Round-Robin: es un algoritmo de planificación de procesos simple
de implementar, dentro de un sistema operativo se asigna a cada proceso

243
BLOQUE II TEMA 3

una porción de tiempo equitativa y ordenada, tratando a todos los procesos


con la misma prioridad. En Sistemas operativos, la planificación Round-
robin da un tiempo máximo de uso de CPU a cada proceso, pasado el cual es
desalojado y retornado al estado de listo, la lista de procesos se
planifica por FIFO, del inglés "First In, First Out" (primero en entrar,
primero en salir o primero llegado, primero atendido).
Algoritmo SRR (Selfish Round Robin): Es una variación del algoritmo normal,
con dos colas. En la primera están los procesos "aceptados", que se
ejecutan compartiendo el tiempo de procesador mediante round-robin. En la
segunda están los procesos "nuevos", y a ella se incorporan los procesos
nuevos que tienen que ser ejecutados. Favorece a los procesos parcialmente
ejecutados. (Pregunta examen)
**Algoritmos de compresión: pueden ser “sin perdida” (procedimiento de
codificación que tenga como objetivo representar cierta cantidad de
información utilizando u ocupando un espacio menor, siendo posible una
reconstrucción exacta de los datos originales) o “con perdida”
(procedimiento de codificación que tenga como objetivo representar cierta
cantidad de información utilizando una menor cantidad de la misma, siendo
imposible una reconstrucción exacta de los datos originales).
o TDC (Codificación por transformación): es un tipo de compresión de
datos con pérdida para datos "naturales" como señales de audio o
imágenes fotográficas. (Pregunta examen)
o Codificación Huffman: es un algoritmo usado para compresión de datos
sin perdida. El término se refiere al uso de una tabla de códigos de
longitud variable para codificar un determinado símbolo (como puede
ser un carácter en un archivo), donde la tabla ha sido rellenada de
una manera específica basándose en la probabilidad estimada de
aparición de cada posible valor de dicho símbolo. o LZW (Lempel-Ziv-
Welch): un algoritmo de compresión sin pérdida, se basa en crear
sobre la marcha, de manera automática y en una única pasada un
diccionario de cadenas que se encuentren dentro del texto a comprimir
mientras al mismo tiempo se procede a su codificación.
o RLE (Run-length encoding): es una forma muy simple de compresión de
datos en la que secuencias de datos con el mismo valor consecutivas
son almacenadas como un único valor más su recuento.
o JPEG, es un algoritmo de compresión con pérdida, esto quiere decir
que pierde información y, por tanto, calidad de imagen, pero, gracias
a cómo aprovecha los defectos del ojo humano, no nos damos cuenta de
la pérdida. (Pregunta examen)
4.Formatos de información y ficheros
Se entiende por clúster el tamaño mínimo reservado para cada archivo. Así
pues, si un archivo no ocupa el tamaño total del clúster, dicho espacio
queda inservible. Está estrechamente ligado al tamaño de la unidad de
almacenamiento. Se entiende por clúster el tamaño mínimo reservado para
cada archivo.
• FAT Windows 3.x y windows 95. también puede ser utilizado por Windows
98/me/nt/2000/xp. Tamaño Cluster: 32.768 bytes
• FAT32 (tabla asignación de archivos): Es un sistema de archivos que
se puede utilizar con la versión 2 de Windows 95 y posteriores
versiones, pero las anteriores no pueden reconocer ni arrancar desde
particiones fat32 ni utilizar archivos en las mismas.

244
BLOQUE II TEMA 3

• HPFS High Performance File System, para OS/2 de IBM mejorar las
limitaciones del sistema de archivos FAT.
• NTFS (sistema de archivos de nueva tecnología). Sólo puede ser leído
por Windows NT/2000/XP en adelante. NTFS no se recomienda para su uso
en discos de menos de 400 MB ya que utiliza una gran cantidad de
espacio para las estructuras del sistema.
• NetWare: El sistema operativo Netware, de Novell, utiliza un sistema
de archivos exclusivo desarrollado específicamente para servidores
Netware.
• ReFS (Resilient File System, nombre en código «Protogon») Windows
Server 2012. Transacciónal, guarda historial de archivos. Los
metadatos y los archivos son organizados en tablas, de manera similar
a una base de datos relacional.

o Mejora de la fiabilidad de las estructuras en disco. ReFS utiliza


árboles B+.
o Capacidad de resiliencia incorporada no necesitan ejecutar
periódicamente herramientas de CHKDSK.
o Compatibilidad con las Apis y Tecnologías Existentes (Bitlocker,
ACLS…).
o Detecta y corrige automáticamente los problemas de disco (por
ejemplo, en un copiado).

• EXT2 no implementa el registro por diario (en inglés Journaling) que


sí poseen sus ext3 y ext4.
• EXT3: Sistema de archivos con registro por diario (journaling).
Linux.

o Utiliza un árbol binario balanceado (árbol AVL) e incorpora el


asignador de bloques de disco Orlov.
o Velocidad y escalabilidad es menor que: JFS, ReiserFS o XFS.
o Actualizar de ext2 a ext3 sin perder los datos almacenados ni tener
que formatear el disco.

• EXT4: Sistema de archivos transaccional (journaling). Menor uso del


CPU. Mejoras en la velocidad (Write/read)
Ficheros
Ficheros con información de texto: solo contienen ASCII estándar, no
presentan problemas de presentación, los más notables son los ficheros
readme, léame… se incluyen los formatos de la web (HTML) que son también
texto ASCII.
▪ .pfx (Personal Information Exchange): se utiliza en los servidores
de Windows para los archivos que contienen tanto los archivos de
clave pública (sus archivos de certificados SSL) y su clave privada
que corresponde a sus certificados (generado por el servidor).
▪ .csv (comma-separated values): tipo de documento en formato abierto
sencillo para representar datos en forma de tabla, en las que las
columnas se separan por comas y las filas por saltos de línea.
Texto formateado: el contenido es principalmente ASCII, pero acompañado
de múltiples caracteres específicos de control de formato y presentación
(docx, pdf, xls,…).

245
BLOQUE II TEMA 3

Ficheros con información de imagen: ficheros con imágenes estáticas o


animadas y formatos para diseño gráfico, dos formas básicas para almacenar
imágenes: ráster y vectorial.
▪ Ráster: consiste en descomponer la imagen en una serie de puntos y
almacenar el color y brillo de cada uno de estos puntos, más
definición cuanto mayor sea el número de puntos (JPG, PNG, ICO, JNG,
MNG…).

o JPEG: algoritmo de compresión con perdida, flexibilidad a la hora


de ajustar el grado de compresión. Convierte la imagen desde su
modelo de color RGB a otro llamado YCbCr. Otra definición Sobre
bloques de NxN pixeles, se elimina información redundante y se
aplica la Transformada Discreta del Coseno (DCT). (Pregunta examen)

✓ HSB (Hue, Saturation, Brightness – Matiz, Saturación, Brillo).


- Resolución: La resolución de una imagen es el número de píxeles
por pulgada que contiene. Ésta se expresa en PPP (puntos por
pulgada en español) o DPI (dots per inch en inglés).

✓ Profundidad de color: o bits por píxel (bpp) es un concepto de


la computación gráfica que se refiere a la cantidad de bits de
información necesarios para representar el color de un píxel en
una imagen digital.
o PNG: nivel de compresión que casi no presenta perdidas (predicción
del valor de pixel), permite el uso de transparencias. ▪ TIFF:
manejar imágenes y datos en un solo archivo, sin pérdidas. ▪ GIF:
baja calidad y ofrece una escasa profundidad de colores, permite
unir varios cuadros para formar una animación.
o EXIF (Exchangeable Image File Format): es una especificación para
formatos de archivos de imagen usado por las cámaras digitales.
o HEIF (High Efficiency Image File Format): es un formato de archivo
informático para almacenar imágenes y secuencias de estas.
Realmente es un contenedor flexible de imágenes con compresión,
considerado actualmente uno de los posibles sustitutos de JPG.

• Vectorial: cada elemento es definido por sus propiedades matemáticas,


una línea entre dos puntos puede ser definida como una recta, usadas
para dibujo de tipo técnico, mapas geográficos (dwg, dwf, eps, cdr,
…).

o .swf (Small Web Format): es un formato de archivo de gráficos


vectoriales, pueden ser creados por Flash o por aplicaciones de
software libre. Son ejecutados sobre el navegador mediante el
plugin de Flash player. (Pregunta examen)
o SVG (Scalable Vector Graphics): es un lenguaje usado para dibujar
y representar gráficos vectoriales escalables, imágenes y
logotipos, o sea que son gráficos que pueden manipularse con CSS
y JavaScript. (Pregunta examen)
o Shapefile (SHP): Se trata del archivo principal y almacena la
información geométrica de los elementos de la capa en formato
vectorial. Conjunto de ficheros que contienen formas geométricas
junto con una base de datos (dBASE) referenciados espacialmente.
(Pregunta examen)

246
BLOQUE II TEMA 3

Ficheros con información compuesta: documentos que integran texto con


imágenes o gráficos (PostScript, PDF…).
Ficheros con información comprimida: se desarrollaron distintos algoritmos
de compresión (ZIP, RAR…).
Ficheros de audio: multitud de “códecs” (mp3, ogg (con perdida, libre
audio y video), wav, FLAC, ALAC (apple) (Sin perdida), aiff, ape, wma,
acc, ra y rm, m4a MP3, MIDI…). (Pregunta examen)
Ficheros ejecutables: pueden ser ejecutados directamente en el ordenador,
alguno tiene la sola finalidad de desempaquetar un cierto contenido que
vienen incluido en el propio fichero (EXE, COM…).
Formato Contendor(audio/video): 3GP, ASF, AIFF, AVIM, FLV (flash), M4V,
MKV, MPEG, MPEG-4, OGG, RMVB, WAV, WEBM (html5)
Video: avi, mov, mpg, wmv, asf, mkv, h.264, mpeg, flv, vp8, (3,5,6,7),
mpeg-4 -2, webm, ogv, mp4 (Pregunta examen)
Documentos: txt, odt (openDocument), doc, docx, rtf, pdf, ps, sxw
(openOffice), DjVu, EPUB, odt.
Hojas Calculo: ods. extensión del equivalente a Excel en Oracle. (Pregunta
examen)
Comprimidos: 7z, ace, zip, rar, tar, tar.gz, tgz, bzip2.

247

También podría gustarte