domingo, 24 de agosto de 2008

Apuntadores y listas

Apuntadores y Listas

Un apuntador o puntero es una variable manipulable que referencia una región de memoria; en otras palabras es una variable cuyo valor es una dirección de memoria . Si se tiene una variable ' p ' de tipo puntero que contiene una dirección de memoria en la que se encuentra almacenado un valor ' v ' se dice que p apunta a v.
Trabajar con apuntadores implica la no manipulación de las variables en sí, sino manejar direcciones de memoria en la cuales residen los datos.
Los punteros son de amplia utilización en programación y casi todos los lenguajes permiten la manipulación de los mismos. La razón de ser principal de los punteros reside en manejar datos alojados en la zona de memoria dinámica o heap (aunque también se pueden manipular objetos en la zona estática), bien sean datos elementales, estructuras (struct en C) u objetos pertenecientes a una clase (en lenguajes Orientados a Objetos). Gracias a esta propiedad, los punteros permiten modelar un grafo, en donde los elementos de éste son los datos residentes en memoria y las relaciones entre los elementos son los propios apuntadores. Sin embargo, los punteros son un gran dolor de cabeza para los programadores novatos y para cualquier programador que deba depurar una aplicación.


En Ciencias de la Computación, 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 referencia(punteros) al nodo anterior y/o posterior. El principal beneficio de las listas enlazadas respecto a los array 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. Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o link a otro dato del mismo tipo. Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante, pero no permiten un acceso aleatorio. Existen diferentes tipos de listas enlazadas: Lista Enlazadas Simples, Listas Doblemente Enlazadas y Listas Enlazadas Circulares.

1.-¿Que es un apuntador?
R=Variable que cointiene la direccion en la memoria de otra variable.
2.-¿Para un apuntador a un entero o un flotante cuantos bites se le otorgan?
R=4 bites
3.-¿Realmente que seria el nombre de la funcion?
R=Direccion inicial en memoria que ejecuta la tarea de dicha funcion
4.-¿En que consiste una lista enlazada?
R=Una secuencia de nodos en los que se guardan campos de datos o alguna referencia
5.-¿Caracteristica mas importante de las listas circulares?
R=El primer y el ultimo nodo estan unidos

martes, 12 de agosto de 2008

algoritmos interactivos y recursivos

es un conjunto de pasos sucesivos y organizados en secuencia lógica para la formulación de una solución en una situación planteada

algoritmo interactivo
algoritmo iterativo
algoritmo recursivo

interactivo
se le denomina interactivo aquel que con cualquier molificación en uno de sus parámetros ocasiona cambios en todas las constantes de tiempo integral proporcional y derivativa

iterativo
estos algoritmos son muy útiles al momento de realizar tareas repetitivas como recorrer un arreglo
estas implican una escritura mas sencilla o corta tanto para su implementación como para su entendimiento pero en contra parte utilizan mucho mas recursos de sistemas que una iteración debido a que necesitan

recursivo
expresa la solución de un problema en términos de una llamada a si mismo
la llamada a si mismo se conoce como llamada recursiva

para saber mas que es una recursividad hay que saber sobre la función. se debe tener cuidado con que no se haga un bucle

1.-¿que es un algoritmo y que tipos de algoritmos hay?
es un conjunto de pasos sucesivos y organizados en secuencia lógica para la formulación de una solución en una situación planteada

algoritmo interactivo
algoritmo iterativo
algoritmo recursivo

2.-¿cual es la característica del algoritmo?
es aquel que al sufrir cualquier modificación en alguno de sus parámetros ocasiona cambios en todas las constantes

3.-¿cual es el funcionamiento de un algoritmo iterativo ?
se ejecutan en ciclos son muy útiles al momento de realizar tareas repetitivas su uso es cuando a la recursividad en funciones implican una escritura mas sencilla y corta pero consume mas recursos del sistema

4.-¿cuales son las claves para construir un subprograma recurrente ?
es mas fácil resolver el problema y debe existir al menos un caso base para evitar que la recurrencia sea infinita

martes, 5 de agosto de 2008

arboles y tipos de arboles

es una estructura de dato amplia mente usada que emula la forma de una arbol
solo hay un nodo que no tiene un hijo al que que ya no tiene hijo se le llama rama y a ese mismo se le llama hoja
tipos de arboles
binarios
de busca binario
busqueda auto balanceable
de rojo y negro
avl
b
b+
-b
multicamino

binario para que sea una rbol inario cada raiz tiene que tener una nodo con maximo de 2 hijos

binario lleno no puede estar bacio debe tener mas ramificaciones
binario perfecto todos los vertices hojas


busqueda autobalanceable
es una arbol de busqueda sque desea mantener su altura o elnumero de nodos

avl adelson velskii y landis

debe tener el mimo numero de niveles si se quita un nodo ya no puede ser avl la rama izquierda no difiere, deben llevar un equilibrio


rojo y negro

las caracteristicas son los colores todo nodo es rojo o negro
la raiz siempre debe de ser negra
todas las hojas deben ser negras
los hijos de todo nodo rojo son negros
el color rojo no debe terminar en hoja el negro si

arbol -b o b-
son arboles que se encuentran comumente en las implementaciones de bases de datos y sistemas de archivos
los arboles b mantinene los datos ordenados y las inserciones y eliminaciones se realizan en tiempo logaritmico amortizado

multicamino
pose un grado mayor a 2 donde cada node de informacion del arbol tiene un maximo de g de hijos

se basan en bases de datos extensas
existen mas nodos que en el binario

1-¿en ciencias de la informatica que es un arbol?

es una estructura de datos ampliamente usada que emula la forma de un arbol (un conjunto de nodos conectados.


2.-¿como se le llama al nodo que carece de padres?

Raiz

3.-¿como se llama el arbol que contiene dos colores en especifico?

arbol negro y rojo


4.-¿porque se le llama arbol AVL?

toma su nombre de las iniciales de los apellidos de sus inventores adelson velskii y landis

5.-¿una ventaja de arbol multicamino?
consiste en que existen mas nodos en un mismo nivel que en los arboles binarios