Download Estructuras de Datos y Algoritmos en Java
Document related concepts
no text concepts found
Transcript
Java en castellano. Estructuras de Datos y Algoritmos en Java java jsp Página 1 de 4 Free UML 2.1 Design Tool Crystal Reports Web Visually develop applications with Roundtrip model to code, ERD & DB Our software gets your Crystal Reports on the web in minutes. Anuncios Goooooogle Inicio > Tutoriales > J2EE > Estructuras de Datos y Algoritmos en Java Buscador En nuestro sitio IR Secciones Noticias Blogs Cursos Artículos Foros Direcciones Código fuente Formación Tienda Cursos bbdd Otras zonas ASP en castellano Bases de datos en castellano HTML en castellano PHP en castellano Registro Nombre de usuario: Contraseña: Entrar Anunciarse en este sitio Registro Foros Java Básico Servlets-JSP Java & XML Serv. Aplicaciones J2EE Recomendamos Tutoriales Estructuras de Datos y Algoritmos en Java Autor: Jeff Friesen Traductor: Juan Antonio Palos (Ozito) z Estructuras de Datos y Algoritmos Básicos { ¿Qué es una Estructura de Datos? { ¿Qué es un Algoritmo? { ¿Cómo se Representa un Algoritmo? Flowchart Pseudocódigo Estructuras de Datos y Algoritmos Básicos Utilidades Leer comentarios (39) Escribir comentario Puntuación: (36 votos) Votar Recomendar este tutorial Estadísticas Patrocinados Anuncios Goooooogle Antes de explorar las estructuras de datos y sus algoritmos específicos, necesitamos examinar tres cuestiones básicas: ¿Qué es una estructura de datos? ¿Qué es un algoritmo? ¿Cómo se representa un algoritmo? El conocimiento de estos conceptos ayudará a entender este tutorial ¿Qué es una Estructura de Datos? Las estructuras de datos nos han estado rodeando desde la era de la programación estructurada. Una definición de esa era: una estructura de datos es un conjunto de tipos, un tipo diseñado partiendo de ese conjunto de tipos, un conjunto de funciones, y un conjunto de axiomas. Esta definición implica que una estructura de datos es un tipo con implementación. En nuestra era de la programación orientads a objetos, tipo con implementación significa clase. La definición una estructura de datos es una clase es demasiado amplia porque supone que Empleado, Vehículo, Cuenta, y otras muchas clases específicas de entidades del mundo real son estructuras de datos. Aunque esas clases estructuran varios ítems de datos, describen entidades del munto real (en la forma de objetos) en lugar de describir contenedores de objetos para otras entidades objetos (y posiblemente otro contenedor). Esta idea de contenido da una definición más apropiada para una estructura de datos: una estructura de datos es una clase contenedora que proporciona almacenamiento para ítems de datos, y capacidades para almacenar y recuperar estos datos. Algunos ejemplos de estructuras de datos son los arrays, las listas enlazadas, las pilas y las colas. ¿Qué es un Algoritmo? Normalmante los algoritmos se asocian con estructuras de datos. Un algoritmo es una secuencia de instrucciones que realizan una tarea en un periodo de tiempo finito. El algoritmo recibe cero o más entradas, produce al menos una salida, consiste en instrucciones claras y poco ambiguas, termina después de un número finito de pasos, y es lo suficientemente básico que una persona puede llevar a cabo el algoritmo utilizando lápiz y papel. Por el contrario, un programa no es necesariamente finito: el programa, como un servidor Web, podría no terminar nunca si no hay intervención externa. Algunos ejemplos de algoritmos asociados con estructuras de datos son: búqueda-lineal, ordenación-de-burbuja, búsqueda-binaria, concatenación-de-listasenlazadas, etc. ¿Cómo se Representa un Algoritmo? La representación más obvia: código fuente Java. Sin embargo escribir código fuente antes de entender completamente un algoritmo normalmente acaba con bugs difíciles de encontrar. Una técnica para evitar estos bus es utilizar un flowchart (diagrama de flujo). Visual JSF Flow Designer Eclipse J2EE & Web Dev Tools Download Free Trial Immediately www.myeclipseide.com Create PDF files Free Free software, instant download. Professional quality, easy to use. www.pdf995.com Code Coverage for Java Method, Statement, Branch Coverage. HTML & XML Reports. IDE Plugins. www.cenqua.com/clover Java Graph Layout Library Edit, analyze, display and layout flowcharts, diagrams and networks. www.yworks.com/product Anunciarse en este sitio Flowchart http://www.programacion.net/java/tutorial/jap_data_alg/2/ 02/03/2007 Java en castellano. Estructuras de Datos y Algoritmos en Java java jsp Página 2 de 4 Un flowchart es una representación visual del flujo de control de un algoritmo. Esta representación ilustra las sentencias que se tienen que ejecutar, las decisiones que hay que tomar, el flujo lógico (para iteracciones y otros propósitos), y terminaciones que indican los puntos de entrada y salida. En la siguiente figura puede ver los distintos símbolos que puede utilizar en un flowchart: ¿Cuál es el aspecto de un flowchart? Supongamos que usted tiene un sencillo algoritmo que inicializa un contador a 0, lee caracteres hasta que ve un caracter de nueva línea (\n), incrementa el contador por cada caracter dígito leído, e imprime el valor del contador depsués de que haya leído el caracter de nueva línea. En la siguiente figura puede ver el flowchart que ilustra el flujo de control de este algoritmo: http://www.programacion.net/java/tutorial/jap_data_alg/2/ 02/03/2007 Java en castellano. Estructuras de Datos y Algoritmos en Java java jsp Página 3 de 4 Entre las ventajas de un flowchart se incluye su simplicidad y su habilidad para representar visualmente el flujo de control del algoritmo. Los flowcharts también tienen desventajas: z z z Los flowcharts altamente detallados pueden generar errores o imprecisiones. Se requiere algo de tiempo extra para posicionar, etiquetar y conectar los símbolos del flowchart, aunque algunas herramientas aceleran este proceso, Este retardo podría relentizar su entendimiento de un algoritmo. Como los flowcharts son herramientas de la era de la programación estructurada, no son tan útiles en un contexto orientado a objetos. Unified Modeling Language (UML) es más apropiado para proporcionar representaciones visuales orientadas a objetos. Pseudocódigo Una alternativa al flowchart es el pseudocódigo: una representación en modo texto de un algorirmo que se aproxima al código fuente final. El pseudocódigo es útil para una escritura rápida de representaciones de algoritmos. Como la síntaxis no es lo más importante, no hay reglas definidas para escribir pseudocódigo. Considere el siguiente ejemplo: DECLARE CHARACTER ch DECLARE INTEGER count = 0 DO READ ch IF ch IS '0' THROUGH '9' THEN count++ END IF UNTIL ch IS '\n' PRINT count END http://www.programacion.net/java/tutorial/jap_data_alg/2/ 02/03/2007 Java en castellano. Estructuras de Datos y Algoritmos en Java java jsp Página 4 de 4 Este ejemplo representa el pseudocódigo equivalente al flowchart de la figura anterior. Aunque localizar el flujo de control en pseudocódigo puede costar un poco más que en un flowchart, normalmente, escribir pseudocódigo lleva menos tiempo que dibujar un flowchart. Nota: En este tutorial se utiliza pseudocódigo para representar algoritmos. Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados. Formulario de Contacto - Datos legales - Publicidad Hospedaje web y servidores dedicados linux por Ferca Network red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados http://www.programacion.net/java/tutorial/jap_data_alg/2/ 02/03/2007