domingo, 31 de agosto de 2008

Estructuras dinamamicas en memoria central

Estructuras dinamamicas en memoria central

¿Cuales son los tipos de estructura de datos?
Estatica y Dinamica

¿Aque se refiere a la estructura de datos?
SimplesBooleanos, integer, char, lineal
Compuestas:Arreglos, conjuntos, registros y archivos

¿Cuales son los tipos y valores de datos?
-Integrales:componen por 8, 16, 32 y 64 bits
-Caracteres de 16 bits
-Punto flotante muestra la precision y el intervalo aproximado
-Decimal datos de 128 bits, intervalo mas reducido y mas exacto que el punto flotante
-Booleanos que almacenan variavles verdadero y falso

¿Tipos de datos simples?
Hacen referencia a un unico valor a la vez en memoria y son de tipo entero real caracter y logico.

¿Tipos de estructuras dinamicas?
Pilas, colas, listas, arboles y grafos.

¿Cuales son las categorias principales de los tipos de valores?
Estructura (estruct) y numeracion (num)

¿Explica que es la estructura estatica?
Durante la ejecución del programa el tamaño de la estructura no cambia

¿Explica que es la estructura dinamica?
Durante la ejecuci´´on del programa el tamaño de la estructura puede cambiar

¿Lo primero que se necesita para implementar alguna estructuira de datos?
Tener claro cual va a ser el manejor de la memoria

¿Cual es la ventaja de la estructura de datos estatica?
La rapidez de acceso a cada elemento individual de la estructura
Poder declarar una estructura publica y poder reutilizarla en el resto del programa

Arboles y tipos de arboles

Arboles y tipos de arboles

Arbol:Estructura de datos que simula la forma de un arbol.
Nodo: Es la unidad sobre la que se construye el arbol y puede tener cero o mas nodos hijos conectados a el.
Raiz: Nodo sin padre
Hoja: nodo que no tiene hijos
Rama: resto de los nodos

Tipos de arboles
-Arboles binarios: Cada raiz debe tener un maximo de 2 hijos y cada noso debe tener maximo 2 hijos

-Arbol de busqueda binario auto-balanceable:Intenta mantener su altura o el numero de niveles de nodos bajo la raiz tan pequeños como sea posible en todo momento, automaticamente.

Arboles rojo-Negro:
1.-Todo nodo es bien o rojo o negro
2.-La raiz es negra
3.-Todas las hojas son negras
4.-Los hijos de todo nodo rojo son negros
5.-El color rojo no puede ser hoja

Arboles AVL: La altura de la rama izquierda no difiere en mas de una unidad de la
altura de la rama derecha.

-Arboles-B: Mantienen los datos ordenados y las insercciones y eliminaciones se realizan en tiempo logarítmico amortizado.

1.-En ciencias de la informatica¡Que es un arbol?
Estructura de datos ampliamente usada que emula la forma de un arbol (conjunto de nodos conectados)

2.-¿como se le llama al nodo que cadece de padres?
Raíz

3.-¿Como se llama el arbol que contiene 2 colores en especifico?
Arbol Rojo-Negro

4.-¡Por que se le llama arboles AVL
Por sus creadores Adelson-Velskii y Landis

5.-¿Di una ventaja del arbol multicamino?
existen mas nodos en un mismo nivel que en los arboles binarios
Arbol-B+
ArbolB*

-Arbol multicamino
Posee un grado g mayor a 2, donde cada nodo de informaciòn del akrbol tiene un maximo de g hijos

listas

Listas

Una lista es una estructura de datos homogénea y dinámica, que va a estar formada por una secuencia de elementos, donde cada uno de ellos va seguido de otro o de ninguno.
Homogénea: Todos los elementos que la forman tienen el mismo tipo base.
Dinámica: Puede crecer o decrecer en tiempo de ejecución según nuestras necesidades.

Dos listas pueden ser diferentes si:
-No tienen el mismo número de elementos:
-Cuando, aun teniendo el mismo número de elementos, estos son distintos
-Cuando, aun teniendo el mismo número de elementos y siendo estos los mismos, no están dispuestos en el mismo orden.
-varios criterios para clasificar las listas: según su modo de acceso o según su información de acceso.

¿ Qué es una lista enlazada ?

Corresponde a una estructura lineal compuesta por una colección de datos homogéneos con alguna relación entre ellos. Dicha estructura se crea a través del método dinámico de memoria.

En una lista enlazada el orden de los elementos está determinado por un campo enlace explícito en cada elemento, por ejemplo: pilas y filas dinámicas.

La representación de lista enlazada es la más óptima debido a que cualquier proceso de actualización se realiza en base a reasignación de punteros. En este capítulo trataremos sólo con las listas enlazadas ya que las listas secuenciales ya son bien conocidas por ustedes.

Tipos de Listas Enlazadas

Listas Simplemente Enlazadas: Es una estructura en la que el cada elemento enlaza con el siguiente.
Listas Circulares: Una lista circular es una lista lineal en la que el último elemento enlaza con el primero. Entonces es posible acceder a cualquier elemento de la lista desde cualquier punto dado.
Listas Doblemente Enlazadas: Una lista doblemente enlazada es una lista lineal en la que cada elemento tiene dos enlaces, uno al elemento siguiente y otro al elemento anterior. Esto permite recorrer la lista en cualquier dirección.
Listas Doblemente Enlazadas:Una lista doblemente enlazada es una lista lineal en la que cada elemento tiene dos enlaces, uno al elemento siguiente y otro al elemento anterior. Esto permite recorrer la lista en cualquier dirección.

Apuntadores

Apuntadores: Variable que contiene la dirección en memoria de3 otra variable. Se pueden tener apuntadores a cualqueir tipo de variables.

La razon por la que se asocia un apuntador a un tipo de dato, es por que se debe conocer en cuantos byres esta guardado el dato. De tal forma que cuando se incrementa un apuntador, se incremeta por un bloque de memoria, en donde el bloque esta en funcion del tamaño del dato.

Apuntadores y arreglos
Pueden ser utilizados en cualquier operacion que involucre indices.
Cuando se suma 1 a un apuntador el incremento se adecua al tamaño en memoria del objeto apuntado.
Los apuntadores son variables que almacenan direcciones de memoria.
Un apuntador contiene la direccion de una variable de un valor especifico
Se puede obtener codigo mas compacto y eficiente.

¿Realmente que seria el nombre de la función?
Direccion inicial en memoria que ejecuta la tarea de cicha función

¿En que consiste una lista enlazada?
Consiste en una secuencia de nodos en los que se guardan campos de datos o alguna referencia.

¡Cual es la caracteristicas mas importantes de las listas circulares?
El primer y ultimo nodo estan unidos

martes, 12 de agosto de 2008

algoritmos interactivos y recursivos

algoritmo: es un conjunto de pasos sucesivos y organizados en secuencia logica para la formulacion de una solucion planteada
algoritmo interactivo: es aquel k al sufrir cualkier modificacion en unos de sus parametros ocasiona cambio en todas las constantes de tiempo, integral personal y derivativa
algoritmo iterativo: se ejecuta en ciclos son utiles al realizar tareas repetitivas. es el uso de de la recursividad de funciones esto implica k para resolver el problema se hace mas sencillo para su soluciion utiliza muchos mas recursos de sistemas k una iteracion usan el uyso de procesador del procesador y la pila del sistema para apilar
algoritmo recursivo: expresa la solucion de un problema en terminos de una llamada asi mismo k se conoce como llamda recursiva
se reduce la dificultad del prblema hasta k sea muy simple
claves para contruir un programa recurrente
*cada llamda recurrente se deberia definir sobre un problema de menor complejidad
* ha de existir al menos un caso base para evitar k la recurrencia sea infinita
1.-¿que es un algoritmo y cuales son?
es un conjunto de pasos sucesivos y organizados en secuencia logica para la formulacion de una solucion planteada
algoritmo interactivo:
algoritmo iterativo:
algoritmo recursivo
2*- ¿cual es la principal caracteristica del algoritmo interactivo?
es aquel k al sufrir cualkier modificacion en unos de sus parametros ocasiona cambio en todas las constantes de tiempo, integral personal y derivativa
3.- cual seria el funcionamiento de un algoritmo iterativo?
se ejecutan en ciclos y los utilizamos para usar tareas repetitivas implica una escritura mas sencilla y corta y consumen mas recursosn en el sistema
4*- cuales son las claves para hacer un programa recurrente?
*cada llamda recurrente se deberia definir sobre un problema de menor complejidad
* ha de existir al menos un caso base para evitar k la recurrencia sea infinita
5.-

arbol

1.- ¿-en ciencias de la informatica que es un arbol?
R= estructura de datos ampliamente usada k emula la forma de un arbol(conjunto de nodos conectados)
2.-¿como se le llama al nodo de carece de padres?
R= raiz
3.- ¿como se llama el arbol que contiene dos colores?
R= arbol rojo y negro
4.- ¿por k se le llama arbol AVL?
R= por sus creadores adelson- velskii- landis
5.- ¿ una ventaja de arbol multicamino?
R= consiste en k existen mas nodos en un mismo nivel k en los arboles binarios

martes, 8 de julio de 2008

tipos de arreglo y tipos de busqueda

tipos de busqueda:
dinamica: por medio de un texbox se va escribiendo algo y en otra parte de la ventana se va mostrando la busqueda
exahustiba :nos muestra la solucion con menor trayectoria e ir guardando los nodos en la memoria
arreglos: son coleccion de variables del mismo tipo que se referencian utilizando un nombre comun consta de posiciones de memoria contigua. La dirección más baja corresponde al primer elemento y la más alta al último.
tipos de arreglos
unidimencional: coleccion finita ordenada de datos del mismo tipo es el acceso directo es decir se puede acceder sin consultar elementos anteriores se debe reservar espacio en la memoria es en forma de lista y continua respetando un patron
bidimencionales: es un tipo de dato estructurado finito y ordenado y homogeneo el acceso es por medio de indices
se usan para representar datos que pueden verse como una tabla de filas y columnas la primera dimenccion representa las columnas cada elemento contiene un valor y representa una relacion
multidimencionales: son estructurados su acceso es por indices y es necesario utilizar un indice por cada dimencion puede tener laa dimenciones que euno quiera

RANGO (Ri) = lsi - (lii + 1)
TOTAL ELEMENTOS = {R1, R2, R3, ..., Rn}
donde:
i = 1 2 3...n
n = No. total de dimensiones
indices y notacion
el primer elemento es el asignado enla posicion 0 y cada elemento continua hasta el numero de elementos
matrices Vs listas
matriz e smuy utilizada en programacion u sus elemetos son muy accesibles
y en una lista tienes que buscar elemento por elemento hasta que encuentra

ž1.- ¿Cuál es el método de búsqueda exhaustiva?
Es la que nos muestra la solución con menor
trayectoria.
ž2.- ¿En qué consiste la búsqueda dinámica?
Es cuando en una parte escribimos lo que queremos
saber y en otra parte van apareciendo los
resultados
ž3.- Menciona 2 consejos a seguir durante una búsqueda
Identificar conceptos claves y saber donde podemos
Encontrarla
ž4.-Da un ejemplo de búsqueda dinámica
La ventana del iTunes
ž5.- Da un ejemplo de búsqueda exhaustiva
La programación de un laberinto

ž6.- ¿Qué es un arreglo?
Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común.
ž7.- Menciona y describe los tipos de arreglos
—VectorEs un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo.
—Matriz x2Es un tipo de dato estructurado, finito ordenado y homogéneo. El acceso a ellos también es en forma directa por medio de un par de índices.
—Matriz xNTambién es un tipo de dato estructurado, que está compuesto por n dimensiones. Para hacer referencia a cada componente del arreglo es necesario utilizar n índices, uno para cada dimensión

ž8.- ¿Cómo se enumeran o indizan los elementos de un arreglo? El primer elemento de un vector, de N elementos, es asignado a la casilla número 0 secuencialmente hasta el último que se asigna al lugar N-1
ž9.- ¿Cuál es la diferencia entre un arreglo y una lista? Que los elementos de la lista se pueden indizar, pero el acceso a cada elemento de la lista debe hacerse elemento por elemento o usando un apuntador que se almacene y acceda al elemento, y en el arreglo se adquiere el dato de forma directa
ž10.- Ejemplifica ¿De qué forma se expresa un arreglo en programación?
—int arr1[5][2];
Matriz donde “arr1” es el nombre de la matriz y [5][2] son las dimensiones para los valores enteros (int)