Está en la página 1de 7

Diferencias entre listas enlazadas y arreglos estticos.

Listas Enlazadas
En Ciencias de la Computacin, una lista enlazada es una de las estructuras de
datos fundamentales, y puede ser usada para implementar otras estructuras de
datos. Consiste en una secuencia de nodos, en los que se guardan campos de
datos arbitrarios y una o dos referencias, enlaces o punteros al nodo anterior o
posterior. El principal beneficio de las listas enlazadas respecto a los vectores
convencionales es que el orden de los elementos enlazados puede ser
diferente al orden de almacenamiento en la memoria o el disco, permitiendo
que el orden de recorrido de la lista sea diferente al de almacenamiento.
Arreglos Estticos
Arreglo esttico o de tamao fijo: aquel que siempre permanece del mismo
tamao ,es decir siempre contendr el mismo nmero de elementos. Tienen un
lmite inferior y superior, con un arreglo individual de elementos contiguos
dentro de estos lmites.

Ventajas/Desventajas
Como muchas opciones en programacin y desarrollo, no existe un nico
mtodo correcto para resolver un problema. Una estructura de lista enlazada
puede trabajar bien en un caso pero causar problemas en otros. He aqu una
lista con algunas de las ventajas ms comunes que implican las estructuras de
tipo lista. En general, teniendo una coleccin dinmica donde los elementos
estn siendo aadidos y eliminados frecuentemente e importa la localizacin de
los nuevos elementos introducidos se incrementa el beneficio de las listas
enlazadas.
Ventajas de las listas enlazadas
Insercin y extraccin de nodos con coste independiente del tamao de la
lista

Concatenacin y particin listas con coste independiente del tamao de las


listas
No hay necesidad de grandes cantidades de memoria contigua
El uso de memoria se adapta dinmicamente al nmero de datos
almacenados en la lista en cada momento

Desventajas de las listas enlazadas


Acceso a posiciones intermedias con coste dependiente del tamao de la lista
Necesidad de memoria adicional para almacenar los Nodos con sus atributos

Casos reales donde se requieran pilas o colas


Las pilas se utilizan en muchas aplicaciones que utilizamos con frecuencia. Por
ejemplo, la gestin de ventanas en Windows (cuando cerramos una ventana
siempre recuperamos la que tenamos detrs).
Cuando se tiene un programa que llama a un subprograma, tambin conocido
como mdulo o funcin, internamente se usan pilas para guardar el estado de
las variables del programa, as como instrucciones pendientes de ejecucin en
el momento que se hace la llamada.
Cuando termina la ejecucin del subprograma, los valores almacenados en la
pila se recuperan para continuar con la ejecucin del programa en el punto en
el cual fue interrumpido. Adems de las variables se recupera la direccin del
programa en la que se hizo la llamada, por que a esa posicin se regresa el
control del proceso.
Finalmente podemos concluir que las pilas son necesarias en este tipo de
aplicaciones por lo siguiente; Permiten guardar la direccin del programa, o
subprograma, desde donde se hizo la llamada a otros subprogramas, para

regresar posteriormente y seguir ejecutndolo a partir de la instruccin


inmediata a la llamada. Permiten guardar el estado de las variables en el
momento en que se hace la llamada, para seguir ocupndolas al regresar del
subprograma.
En el caso de las colas, un ejemplo tpico lo puedes encontrar en la cola de
impresin. Cuando la impresora recibe rdenes de imprimir una serie de
documentos, internamente se forma una cola... y comienza imprimiendo, por
tanto,

aquellos

documentos

que

primero

fueron

pedidos.

Otro ejemplo, algo ms relacionado en lo que hace a sistemas, lo puedes


encontrar en los sistemas de simulacin. Los sistemas de simulacin que se
basan en la tcnica de timming dirigido por eventos llevan un registro de una
cola. Se van encolando los eventos que se generan y luego se los va
atendiendo

en

el

orden

de

llegada.

Por ejemplo, se desea simular y predecir la demanda de clientes y el tiempo de


atencin de un cajero de un negocio. La llegada y demanda de clientes se
simula

mediante

una

cola.

Cada

item

representar

un

cliente.

Otro posible uso de colas (aunque, con ciertas variantes... como ser colas con
prioridad y/o multi-colas) se puede encontrar en el manejo y administracin de
los procesos que maneja el sistema el sistema operativo. El SO organiza y da
un tiempo de uso a cada proceso que se est ejecutando... y el orden, en lo
general, en el que son "atendidos" sigue una estructura de cola.
Porque Java es un lenguaje compilado e interpretado?
Se dice que Java es compilado e interpretado debido a que el compilador
genera un bytecode que luego ste es interpretado por la mquina virtual.
Esto es as para pemitirle funcionar en diversas plataformas (sistemas
operativos).
El bytecode es un "cdigo-intermedio". Cuando se compila, se obtiene este
bytecode que contiene las instrucciones que luego son interpretadas (en tiempo
de ejecucin) segn la mquina virtual de forma adecuada para cada
plataforma. Es decir, el intrprete o mquina virtual va leyendo este bytecode y

traduce esas instrucciones y genera las instrucciones propias y especficas


para la plataforma en la que se ejecuta.
La ventaja es que al hacer el bytecode nico e independiente de la plataforma,
luego

permite

su

interpretacin

ajustarse

cada

caso.

Como desventaja de esta tcnica es la velocidad. Como se requiere de una


mquina virtual la ejecucin de las aplicaciones JAVA resulta ser ms lentas
que aquellas aplicaciones compiladas y nativas.
Proceso para desarrollar y ejecutar un programa en Java:
Primero, en un editor de texto se escriben las instrucciones en un lenguaje de
alto nivel, posteriormente es invocado el pre-procesador y luego el compilador
para llevar dichas instrucciones a bytecode, una especie de cdigo intermedio,
luego el enlazador junta el bytecode con las libreras necesarias vinculadas al
programa y luego este bytecode es interpretado en tiempo real por la maquina
virtual de java.
Conceptos bsicos:
Editor: Un editor de texto es un programa que permite crear y modificar
archivos digitales compuestos nicamente por texto sin formato, conocidos
comnmente como archivos de texto o texto plano. El programa lee el archivo e
interpreta los bytes ledos segn el cdigo de caracteres que usa el editor.
Compilador: Es un programa que recibe como datos de entrada el cdigo
fuente de un programa escrito por un programador, y genera como salida un
conjunto de instrucciones escritas en el lenguaje binario de la computadora
donde se van a ejecutar.
Preprocesador: Un preprocesador es un programa separado que es invocado
por el compilador antes de que comience la traduccin real. Un preprocesador
de este tipo puede eliminar los comentarios, incluir otros archivos y ejecutar
sustituciones de macros.
Enlazador: un enlazador es un mdulo o programa que junta los ficheros
de cdigo objetos (generados en la primer parte de la compilacin), la

informacin de todos los recursos necesarios (biblioteca), elimina los recursos


que no se necesitan y enlaza el cdigo objeto con sus bibliotecas.
Librerias: Es un conjunto de subprogramas utilizados para desarrollar software.
Las bibliotecas contienen cdigo y datos, que proporcionan servicios a
programas independientes, es decir, pasan a formar parte de stos. Esto
permite que el cdigo y los datos se compartan y puedan modificarse de forma
modular. Algunos programas ejecutables pueden ser a la vez programas
independientes y bibliotecas, pero la mayora de stas no son ejecutables.
Cargador: El cargador consiste en un juego de instrucciones que permiten al
dispositivo de entrada ( teclado unidad de cinta ) asignar la direccin de inicio
de la memoria y asegurar que el computador leer el programa y lo cargara
byte a byte.
Programa Fuente: Definimos como Programa Fuente a un texto o conjunto de
lneas de texto (lneas de cdigo) que forman parte esencial de un programa
informtico, siendo entonces las instrucciones que debe seguir un ordenador
para poder realizar la ejecucin de una orden determinada.
En este Cdigo se hace referencia entonces al funcionamiento general de una
aplicacin o una herramienta en particular, pero en un idioma que es
comprensible por el Programador mediante la utilizacin de un Lenguaje de
Programacin determinado, que lleva sus propias reglas y excepciones.
Bytes Code: Cdigo intermedio entre el cdigo fuente y el cdigo mquina.
Suele tratrselo como un fichero binario que contiene un programa ejecutable
similar a un mdulo objeto.

Repblica Bolivariana de Venezuela


Ministerio del Poder Popular para la Educacin Universitaria
Instituto Universitario Politcnico Santiago Mario
Maturn Estado Monagas

Asignaciones 10%

Asesor:

Autor:
Fermn Jos

C.I. 19.094.872

Seccin G, Nocturno
junio de 2013

También podría gustarte