Está en la página 1de 7

Semana 01

Introducción a la programación orientada a objetos


Identificadores: Nombran variable, método, clase y otros Programa: Un programa esta
formado por clases, campos y métodos.
Crear un programa es ensamblar objetos y interactuar con ellos
Objetos: Representación en tiempo de ejecución de un concepto o idea
Clase: Definición estática del concepto o idea, Esta describe un grupo de objetos con
propiedades y métodos comunes, una clase es una plantilla que define la forma de los objetos
de la clase, y se compone de:
 Información(atributos y propiedades)
 Comportamiento(operaciones y funciones)

Un objeto es una instancia de una clase


Campos: Los objetos almacenan su información en los campos, existen campos static y de
instancia, hay una copia de un campo de instancia por cada objeto de la clase, es accesible a
través del objeto al que pertenece y el otro solo hay una única copia de un campo static y es
accesible a través de la clase , sin necesidad de instanciar la clase
Metodos: Instrucciones que se operan sobre los datos de un objeto para obtener resultados

SobreCargaDeMetodos: es una manera de implementar el polimorfismo

La clase es el espacio donde se empaquetan atributos y métodos

Modificadores de Acceso: Nivel de acceso para los miembros de clase

Instanciacion y Referencia: Los objetos se crean mediante el operador new y se manejan


mediante referencias, una referencia contiene la dirección del objeto
Constructor: Es un método que se usa para instanciar o inicializar un objeto
Conclusión
Una clase es una plantilla donde se pueden instanciar objetos
Los objetos contienen información(en campos ins o sta) y comportamiento(metodos)
Los miembros de una instancia se utilizan con la sintaxis objeto
Los miembros de un static se usa la sintaxis clase
Para instanciar una clase (crear un objeto)se usa el operador new
Los contructores sirven para instanciar objetos
Los objetos se manejan a través de referencias
this representa una referencia al objeto el cual se invoca con un método de instancia
los modificadores de acceso ,controlan el nivel de acceso
Semana 02

Cadena de Caracteres
Una cadena es una secuencia de caracteres, La clase String se usa para definir todas las
cadenas en Java, String nombre=”carlos”;
Longitud de una cadena: int longi=nombre.length(); //6 Ubicar Carácter mediante índice, char
c=nombre.chartAt(0); // C Extraer una subcadena: subcadena=nombre.substring(0,2);
Eliminar espacios: String resaldar=””+nombre.trim();

String usuario=jtxtuser.getText();

String clave=String.valueOf(jpasword.getPassword());

Semana 03

Arrays unidimensionales y multidimensionales


Un array es un conjunto de valores,es una estructura de datos,es una colección indizada de
valores de datos del mismo tipo.
Acceder a un array: se puede acceder al elemento de un array a través de una expresion en el
índice.
Array de Objetos: Permite crear arrays de distintos datos de tipo primitivo

Importancia: Organizar la información de los objetos definidos

Semana 04

Ordenacion y Busqueda

Ordenacion: Altera el orden de los elementos de un conjunto

Burbuja: los mas pesados bajan y los livianos suben

Selección: Selecciona el minimo valor y se intercambia con el primero,se repite con los n-1
elementos restantes

Insercion: Ordena los subarreglos de manera creciente

QuickSort, el mas eficiente y tiene una estructura recursiva

Busqueda: Busca un elemento dentro de un grupo y requiere una relación de igualdad

Secuencial, Recorre de uno por uno los elementos

Binaria: Muy rápida,requiere datos ordenados

Semana 05

Recursividad

Es una alternativa diferente para implementar estructuras de repetición

Funcion Recursiva: se compone del caso base , Caso recursivo, Involucra volver a usar la
función original, con parámetros que se acerquen al caso base, se ve lo siguiente:

El procedimiento se llama así mismo, se resuelve resolviendo el mismo problema pero de


menor tamaño.

Importancia de la Recursividad:

Son mas fáciles de analizar, se adaptan mejor a las estructuras de datos recursivos ,ofrecen
soluciones estructuradas, simples a problemas muy complejos, a pesar de consumir mas
tiempo.
Semana 06:

Eficiencia de Algoritmos

Se mide el espacio de memoria y el tiempo de ejecución del algoritmo

Un algoritmo es recursivo si se encuentra definido en términos de si mismo, simplifica los


problemas, ocupa mucho espacio en memoria y el tiempo de ejecución se incrementa

Semana 07

Manejo de Archivos

Exist() para ser si el archivoEntrada esta asociado a un archivo real correctamente

File() Para saber si archivoEntrada esta asociad a un archivo o no,Si es falso esta en el
directorio

List() Lista el nombre de todos los archivos que se encuentran en c:java

Se trabaja con la clase File

Semana 08

Listas y Nodos

Una lista es una colección de elementos llamados nodos, donde el orden de los mismos se
establece mediante punteros ,

Un nodo se divide en dos partes, información(contiene la información del elemento) y


apuntador (contiene la dirección del siguiente nodo de la lista)

Un arreglo se maneja por índices, el tamaño de un arreglo es determinado, en caso se llenen


deben volver a ser redimensionadas, mientras que una Lista al ser una estructura dinámica le
permite agregar valores de manera indefinida, los nodos se relacionan mediante punteros, y

Semana 09

Listas Dobles

Una lista doble es una estructura lineal de elementos llamados nodos, los cuales tienen dos
campos de enlace. Uno al elemento anterior y otro al elemento siguiente de la lista, el primer
nodo de la lista contiene nulo en el enlace anterior y el último nodo de la lista contiene nulo el
enlace siguiente.

 Insertar. Agregar el elemento a la lista


 Eliminar. Retira un elemento a la lista
 Buscar. Busca un elemento en la lista
 Recorre hacia adelanta. Recorre los elementos del inicio al final
 Recorre hacia atrás. Recorre los elementos del final al inicio
 Vacía. Indica si la lista contiene o no elementos
 Tamaño. Indica el número de elementos de la lista.
Listas enlazadas con cabecera

Contiene un nodo especial llamado cabecera, que se encuentra al inicio de la lista. Nodo
cabecera no contiene información, solo se utiliza para indicar el inicio de los elementos de
la lista, permiten implementar los métodos de manera sencilla.

 Lista con cabecera y tierra. El apuntador del ultimo nodo contiene nulo
 Lista circular con cabecera. El ultimo nodo contiene un apuntador hacia la
cabecera

Ventajas

No es preciso conocer la cantidad de elementos en tiempo compilación. Ni inserciones


y eliminaciones implican realizar corrimientos de los elementos de la lista.

Desventajas

No permite el acceso directo a un elemento arbitrario de la lista. Para acceder a un


elemento se debe recorrer la lista hasta llegar al elemento

Semana 11

Pilas

Lista ordenada de elementos a la cual se puede insertar o eliminar por uno de los extremos,
estructura de datos de acceso restrictivo a sus elementos

 Expresiones aritméticas, pila de funciones, pila de protocolos, procesador de texto


deshacer o rehacer, editores de imágenes

Características de Pila

 Los elementos se eliminan al orden inverso al que se insertaron


 El último elemento que se inserta es el primero en salir
 A diferencia de las colas, en las pilas los elementos se insertan y elimina en el
mismo extremo.
 ESTRUCTURA LIFO, ultimo en entrar primero en salir
 El elemento superior se llama tope
 No se pueden extraer abc sin antes extraer d
 El uso de las pilas es independiente de su implementación interna
 Estados(empty vacio y full lleno)
 Acciones(Crear o Inicializar | clear Vaciar o Destruir| AGREGAR, EXTRAER Ytop
VER(TOPE))

Agresar elemento. Apilar o push

Extraer elemento. Desapilar o pop, extrar el ultimo elemento insertado

Ver tope. Ver el elemento que se encuentra en la parte superior de la pila

Aplicación de las pilas

Proporcionan un medio ordenado de demorar la realización de tareas secundarias que


aparecen durante la ejecución del programa. Suelen ir asociados a algoritmos recursivos, tipos
(pila de programa y pila del analizador sintáctico).
Representación en memoria

Las pilas no son estructuras de datos, porque no están definidas así en los lenguajes de
programación

Se pueden arreglar mediante el uso de arreglos y listas enlazadas, no existe limite para agregar
elementos ya que crece de manera indefinida.

Limitación, espacio de memoria reservada depende del tamaño definido, un apuntador al


ultimo elemento insertado en la pila SP stack pointer.

Semana 12

Colas

Es una lista lineal de elementos donde las operaciones de insertar y eliminar se realizan en los
extremos de la cola

Trabaja con FIFO, el primer elemento en entrar es el primero en salir

Ejemplo de colas, cola de automoviles esperando en la gasolineria, Cola de clientes en una


ventanilla

Cola de imprension

Estructura de una cola

La insercion y extraccion de elementos de la cola sigue en principio FIFO

El elemento con mas tiempo en la cola es el que puede ser extraido

Cola simple. Estructura lineal donde los elementos salen en el mismo orden en que llegan

Cola Circular. Representacion logica de una cola simple en un arreglo

Cola de prioridades, Estructura lineal en la cual los elementos insertan en cualquier posicion de
a cola y se remueven

solamente por el frente

Cola Doble, Estructura lineal en la que los elementos se pueden añadir o quitar por cualquier
extremo de la coliga, de entrada o salida restringida

Operaciones basicas con colas simples

Crear, Insertar(encolar, push)almacena al final de la cola el elemento que se recibe como


parametro

Eliminar(desencolar, pop)Saca de la cola el elemento que se encuentra al frente

Vacia o Llena

Frente, se devuelve el elemento frontal de la cola

En arreglos, con frente fijo,frente movible y circular

Usando listas ligadas


Recuperacion de espacio, Cuando no hay espacios libres al final del arreglo los elementos
pueden ser desplazados para desocupar posiciones

en un extremo del arreglo o se puede manejar una estructura circular

Cola circular anillos

Es una representacion logica de la cola en un arreglo, el frente y final son movibles, el ultimo y
primer elemento estan unidos

Representacion de colas

Usando memoria estatica, arreglos con tamaño fijo y represantacion circular

Usando memoria dinamica, Listas ligadas

Operaciones en redes de computadoras, trabajos enviados a impresoras , solicitudes a un


servidor

Redes de colas, es un sistema donde existen varias colas y los trabajos van fluyendo de una
cola a otra

Semana 13

Un arbol es una estructura de datos no lineal, que representa una relacion jerarquica de sus
elementos

Los arboles se utilizan para representar informacion ordenada, relaciones estructurales y para
modelar situaciones

que se expresan en terminos de jerarquias

Tipos de arboles

generales,binarios,binarios de busqueda

Arboles generales

un arbol general, es un conjunto finito no vacio T elementos llamados nodos tales que

un arbol binario, puede estar vacio mienras un ag no

Bosque es una coleccion de 0 o mas arboles distintos

Representacion en memoria de arboles generales

Los hijos de un nodo pueden representar diversas formas

cada nodo contiene un campo de liga para cada hijo.cada nodo contiene un arreglo de hijos

cada nodo contiene una lista de hijos

Aplicaciones

Directorio de archivos. Organigrama de una empresa, contenido de un documento,estructuras


de un lenguaje de programacion

recorrido inorden pre orden o post orden

Arboles balanceados
Por altura, por peso y rojinegros

Son aquellos ABB que cumplen con la condicion de equilibrio, sus arboles izq y derecho

tienen la misma profundidad, optimizan la busqueda de elementos

Arboles AVL, la altura de los subarboles asociada a cada elemento no pueden diferir en mas de
1 y los dos

subarboles tambien son AVL,

Reestructuracion, Factor equilibrio es la diferencia entre la altura de la rama derecha y de la


izquierda para saber

si el arbol esta en equilibrio

Semana 14

Grafos

Un grafo es una estructura de datos no lineal que consta de:

Un conjunto finito de V elementos llamados vertices(Nodos, puntos)

Un conjunto E de aristas tales que cada arista e y E esta identificada por un unico par de nodos
de V denotado como

Nodos vecinos o adyacentes, dos nodos son vecinos si existe una arista que los una

Grado de un nodo u, es el numero de arista que contienen a u

Nodo aislado, son aquellos nodos que tienen grado 0

Grafo etiquetado, es un grafo donde cada arista tiene un valor asignado

Grafo dirigido, es una estrucutra de datos no lineal que consta de: de un conjunto de
elementos llamados vertices

y de aristas con orientacion que conectan a 2 nodos

La representacion secuencial de los grafos se basa en una matriz adyacente

En la busqueda del camino mas corto se debe encontrar el camino desde el nodo inicial hasta
al nodo final

Semana 15

También podría gustarte