• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
 
Buscador Secciones
NoticiasBlogsCursosArtículosForosDireccionesCódigo fuenteFormaciónTiendaCursos bbdd
Otras zonas
ASP en castellanoBases de datos encastellanoHTML en castellanoPHP en castellano
RegistroNombre de usuario:Contraseña:Foros
Java BásicoServlets-JSPJava & XMLServ. Aplicaciones J2EE
Recomendamos
En nuestro sitioIREntrarRegistro
Inicio>Tutoriales>J2EE> Estructuras de Datos yAlgoritmos en Java
Estructuras de Datos y Algoritmos en Java
Autor:
 Jeff Friesen 
Traductor:
 Juan Antonio Palos (Ozito) 
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
Antes de explorar las estructuras de datos y sus algoritmos específicos, necesitamosexaminar tres cuestiones básicas: ¿Qué es una estructura de datos? ¿Qué es unalgoritmo? ¿Cómo se representa un algoritmo? El conocimiento de estos conceptosayudará a entender este tutorial
¿Qué es una Estructura de Datos?
Las estructuras de datos nos han estado rodeando desde la era de la programaciónestructurada. Una definición de esa era:
una estructura de datos es un conjunto detipos, 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 tipocon implementación. En nuestra era de la programación orientads a objetos,
tipo conimplementación
significa
clase
.La definición
una estructura de datos es una clase
es demasiado amplia porquesupone que
Empleado
,
 Vehículo
,
Cuenta
, y otras muchas clases específicas deentidades del mundo real son estructuras de datos. Aunque esas clases estructuranvarios ítems de datos, describen entidades del munto real (en la forma de objetos) enlugar de describir contenedores de objetos para otras entidades objetos (yposiblemente otro contenedor). Esta idea de contenido da una definición másapropiada para una estructura de datos:
una estructura de datos es una clasecontenedora que proporciona almacenamiento para ítems de datos, y capacidades para almacenar y recuperar estos datos
. Algunos ejemplos de estructuras de datosson 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
esuna 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 eninstrucciones 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 algoritmoutilizando lápiz y papel. Por el contrario, un programa no es necesariamente finito: elprograma, como un servidor Web, podría no terminar nunca si no hay intervenciónexterna. Algunos ejemplos de algoritmos asociados con estructuras de datos son:
búqueda-lineal 
,
ordenación-de-burbuja
,
búsqueda-binaria
,
concatenación-de-listas-enlazadas
, etc.
¿Cómo se Representa un Algoritmo?
La representación más obvia: código fuente Java. Sin embargo escribir código fuenteantes de entender completamente un algoritmo normalmente acaba con bugs difícilesde encontrar. Una técnica para evitar estos bus es utilizar un
flowchart 
(diagrama deflujo).
Flowchart
TutorialesUtilidades
 
Patrocinados
Leer comentarios(39)Escribir comentarioPuntuación:(36 votos)Votar Recomendar estetutorialEstadísticas
Anuncios Goooooogle
isual JSF FlowDesigner 
 Eclipse J2EE &Web Dev ToolsDownload FreeTrial Immediately
www.myeclipseide.com
Create PDF filesFree
 Free software,instant download.Professionalquality, easy touse.
www.pdf995.com
Code Coveragefor Java
 Method, Statement,Branch Coverage.HTML & XMLReports. IDEPlugins.
www.cenqua.com/clover 
Java GraphLayout Library
 Edit, analyze,display and layoutflowcharts,diagrams andnetworks.
www.yworks.com/product
Anunciarse en este sitio
Free UML 2.1 Design Tool
Visually develop applications with Roundtripmodel to code, ERD & DB
Crystal Reports Web
 
Our software gets your Crystal Reports onthe web in minutes.Anuncios GoooooogleAnunciarse en este sitio
 
Página 1de 4Java en castellano. Estructuras de Datos y Algoritmos en Java java jsp02/03/2007http://www.programacion.net/java/tutorial/jap_data_alg/2/
 
Un flowchart es una representación visual del flujo de control de un algoritmo. Estarepresentación ilustra las sentencias que se tienen que ejecutar, las decisiones quehay que tomar, el flujo lógico (para iteracciones y otros propósitos), y terminacionesque indican los puntos de entrada y salida. En la siguiente figura puede ver losdistintos símbolos que puede utilizar en un flowchart:¿Cuál es el aspecto de un flowchart? Supongamos que usted tiene un sencilloalgoritmo que inicializa un contador a 0, lee caracteres hasta que ve un caracter denueva línea (\n), incrementa el contador por cada caracter dígito leído, e imprime elvalor del contador depsués de que haya leído el caracter de nueva línea. En lasiguiente figura puede ver el flowchart que ilustra el flujo de control de este algoritmo:
Página 2de 4Java en castellano. Estructuras de Datos y Algoritmos en Java java jsp02/03/2007http://www.programacion.net/java/tutorial/jap_data_alg/2/
 
 Entre las ventajas de un flowchart se incluye su simplicidad y su habilidad pararepresentar visualmente el flujo de control del algoritmo. Los flowcharts también tienendesventajas:
Los flowcharts altamente detallados pueden generar errores o imprecisiones.
Se requiere algo de tiempo extra para posicionar, etiquetar y conectar lossí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ónestructurada, 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 deun algorirmo que se aproxima al código fuente final. El pseudocódigo es útil para unaescritura rápida de representaciones de algoritmos. Como la síntaxis no es lo másimportante, no hay reglas definidas para escribir pseudocódigo. Considere el siguienteejemplo:
DECLARE CHARACTER chDECLARE INTEGER count = 0DOREAD chIF ch IS '0' THROUGH '9' THENcount++END IFUNTIL ch IS '\n'PRINT countEND
Página 3de 4Java en castellano. Estructuras de Datos y Algoritmos en Java java jsp02/03/2007http://www.programacion.net/java/tutorial/jap_data_alg/2/
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...