Estructuras de datos en java TM compatible con java TM2 / (Registro nro. 11645)

Detalles MARC
000 -Cabecera
Campo de control de longitud fija 13999nam a2200277 a 4500
003 - Identificador del Número de control
Identificador del número de control AR-sfUTN
008 - Códigos de información de longitud fija-Información general
Códigos de información de longitud fija 170717b ||||| |||| 00| 0 spa d
020 ## - ISBN
ISBN 8478290354
040 ## - Fuente de la catalogación
Centro transcriptor AR-sfUTN
041 ## - Código de lengua
Código de lengua del texto spa
080 0# - CDU
Clasificación Decimal Universal 004.438JAVA W436
Edición de la CDU 2000
100 1# - Punto de acceso principal-Nombre de persona
Nombre personal Weiss, Mark Allen.
245 10 - Mención de título
Título Estructuras de datos en java TM compatible con java TM2 /
Mención de responsabilidad Mark Allen Weiss.
260 ## - Publicación, distribución, etc. (pie de imprenta)
Lugar de publicación, distribución, etc. Madrid :
Nombre del editor, distribuidor, etc. Pearson,
Fecha de publicación, distribución, etc. 2000.
300 ## - Descripción física
Extensión 740 p.
336 ## - Tipo de contenido
Fuente rdacontent
Término de tipo de contenido texto
Código de tipo de contenido txt
337 ## - Tipo de medio
Fuente rdamedia
Nombre del tipo de medio sin mediación
Código del tipo de medio n
338 ## - Tipo de soporte
Fuente rdacarrier
Nombre del tipo de soporte volumen
Código del tipo de soporte nc
505 80 - Nota de contenido con formato
Nota de contenido con formato CONTENIDO<br/>PRIMERA PARTE. Un recorrido por Java<br/>1. Java básico 3<br/>1.1. El entorno general 4<br/>1.2. El primer programa 5<br/>1.2.1. Comentarios 5<br/>1.2.2. main 5<br/>1.2.3. Salida por pantalla 6<br/>1.3. Tipos primitivos 6<br/>1.3.1. Los tipos primitivos 6<br/>1.3.2. Las constantes 7<br/>1.3.3. Declaración e inicialización de tipos primitivos 7<br/>1.3.4. Entrada y salida por Terminal 8<br/>1.4. Operadores básicos 8<br/>1.4.1. Operadores de asignación 8<br/>1.4.2. Operadores aritméticos binarios 9<br/>1.4.3. Operadores unarios 10<br/>1.4.4. Conversiones de tipo 10<br/>1.5. Instrucciones condicionales 11<br/>1.5.1. Operadores relacionales y de igualdad 11<br/>1.5.2. Operadores lógicos 11<br/>1.5.3. La instrucción if 12<br/>1.5.4. La instrucción while 13<br/>1.5.5. La instrucción for 14<br/>1.5.6. La instrucción do 15<br/>1.5.7. break y continue 15<br/>1.5.8. La instrucción switch 16<br/>1.5.9. El operador condicional 17<br/>1.6. Métodos 18<br/>1.6.1. Sobrecarga de los nombres de los métodos 18<br/>1.6.2. Clases de almacenamiento 19<br/>2. Referencias 25<br/>2.1. ¿Qué es una referencia? 25<br/>2.2. Nociones básicas sobre objetos y referencias 27<br/>2.2.1. El operador punto (.) 28<br/>2.2.2. Declaración de objetos 28<br/>2.2.3. Recogida de basura 29<br/>2.2.4. El significado de 29<br/>2.2.5. Paso de parámetros 30<br/>2.2.6. El significado de 31<br/>2.2.7. Sobrecarga de operadores para objetos 31<br/>2.3. Cadenas de caracteres 31<br/>2.3.1. Conceptos básicos de la manipulación de Strings 32<br/>2.3.2. Concatenación de cadenas 32<br/>2.3.3. Comparando cadenas 33<br/>2.3.4. Otros métodos del tipo String 33<br/>2.3.5. Conversión entre cadenas y tipos primitivos 33<br/>2.4. Vectores 34<br/>2.4.1. Declaración, asignación y métodos 34<br/>2.4.2. Expansión dinámica de vectores 36<br/>2.4.3. Vectores multidimensionales 37<br/>2.4.4. Argumentos de la línea de comandos 39<br/>2.5. Manejo de excepciones 39<br/>2.5.1. Procesamiento de excepciones 39<br/>2.5.2. La cláusula finally 40<br/>2.5.3. Excepciones más comunes 41<br/>2.5.4. Las cláusulas throw y throws 42<br/>2.6. Entrada y salida 42<br/>2.6.1. Operaciones básicas de E/S 43<br/>2.6.2. El objeto StringTokenizer 44<br/>2.6.3. Ficheros de acceso secuencial 45<br/>3. Objetos y clases 51<br/>3.1. ¿Qué es la programación orientada a objetos? 51<br/>3.2. Un ejemplo sencillo 53<br/>3.3. Javadoc 54<br/>3.4. Métodos básicos 57<br/>3.4.1. Constructores 57<br/>3.4.2. Métodos modificadores y de acceso 57<br/>3.4.3. Salida y toString 58<br/>3.4.4. equals 58<br/>3.4.5. Métodos static 59<br/>3.4.6. main 60<br/>3.5. Paquetes 60<br/>3.5.1. La directiva import 60<br/>3.5.2. La instrucción package 61<br/>3.5.3. La variable de entorno CLASSPATH 62<br/>3.5.4. Reglas de visibilidad amistosa dentro de un paquete 63<br/>3.5.5. Compilación separada 64<br/>3.6. Construcciones adicionales 64<br/>3.6.1. La referencia this 64<br/>3.6.2. La abreviatura this para constructores 65<br/>3.6.3. El operador instanceof 65<br/>3.6.4. Atributos estáticos 65<br/>3.6.5. Inicializadores estáticos 66<br/>4. Herencia 73<br/>4.1. ¿Qué es la herencia? 73<br/>4.2. Sintaxis básica de Java 76<br/>4.2.1. Reglas de visibilidad 76<br/>4.2.2. El constructor y super 77<br/>4.2.3. Métodos y clases finales 78<br/>4.2.4. Sobreescribiendo un método 79<br/>4.2.5. Métodos y clases abstractos 79<br/>4.3. Ejemplo: extensión de la clase Figura 82<br/>4.3.1. Disgresión: una introducción a la ordenación 84<br/>4.4. Herencia múltiple 87<br/>4.5. El interfaz 88<br/>4.5.1. Especificación de una interfaz 88<br/>4.5.2. Implementación de una interfaz 89<br/>4.5.3. Varias interfaces 91<br/>4.6. Implementación de componentes genéricas 91<br/>SEGUNDA PARTE. Algoritmos y fundamentos de programación<br/>5. Análisis de algoritmos 103<br/>5.1. ¿Qué es el análisis de algoritmos? 104<br/>5.2. Ejemplos de tiempo de ejecución de algoritmos 107<br/>5.3. El problema de la subsecuencia de suma máxima 108<br/>5.3.1. El algoritmo O(N3) obvio 109<br/>5.3.2. Un algoritmo mejorado O(N2) 112<br/>5.3.3. Un algoritmo lineal 113<br/>5.4. Reglas generales para la notación O 114<br/>5.5. Logaritmos 119<br/>5.6. Problema de la búsqueda estática 121<br/>5.6.1. Búsqueda secuencial 121<br/>5.6.2. Búsqueda binaria 122<br/>5.6.3. Búsqueda interpolada 124<br/>5.7. Comprobar el análisis de un algoritmo 125<br/>5.8. Limitaciones del análisis O 127<br/>6. Estructuras de datos 137<br/>6.1. ¿Por qué necesitamos estructuras de datos? 137<br/>6.2. Las pilas 139<br/>6.2.1. Las pilas y los lenguajes de programación 141<br/>6.3. Las colas 142<br/>6.4. Listas enlazadas 144<br/>6.5. Arboles generales 147<br/>6.6. Arboles binarios de búsqueda 149<br/>6.7. Tablas hash 153<br/>6.8. Colas de prioridad 155<br/>7. Recursión 165<br/>7.1. ¿Qué es la recursión? 165<br/>7.2. Fundamentos: demostraciones por inducción matemática 166<br/>7.3. Recursión básica 170<br/>7.3.1. Impresión de números en cualquier base 170<br/>7.3.2. ¿Por qué funciona? 172<br/>7.3.3. Cómo funciona 174<br/>7.3.4. Demasiada recursión puede ser peligrosa 175<br/>7.3.5. Ejemplos adicionales 176<br/>7.4. Aplicaciones numéricas 180<br/>7.4.1. Aritmética modular 181<br/>7.4.2. Exponenciación modular 181<br/>7.4.3. Máximo común divisor e inversos multiplicativos 183<br/>7.4.4. El sistema de criptografía RSA 185<br/>7.5. Algoritmos divide y vencerás 188<br/>7.5.1. El problema de la subsecuencia de suma máxima 188<br/>7.5.2. Análisis de un algoritmo divide y vencerás sencillo 190<br/>7.5.3. Una cota superior general para los tiempos de ejecución de los algoritmos divide y vencerás 195<br/>7.6. Programación dinámica 197<br/>7.7. Algoritmos de vuelta atrás 201<br/>8. Algoritmos de ordenación 213<br/>8.1. ¿Por qué es importante la ordenación? 213<br/>8.2. Preliminares 215<br/>8.3. Análisis de la ordenación por inserción y otras ordenaciones simples 215<br/>8.4. Shellsort 217<br/>8.4.1. Rendimiento de Shellsort 219<br/>8.5. Mergesort 221<br/>8.5.1. Mezcla lineal de vectores ordenados 221<br/>8.5.2. El algoritmo mergesort 224<br/>8.6. Quicksort 225<br/>8.6.1. El algoritmo quicksort 225<br/>8.6.2. Análisis de quicksort 227<br/>8.6.3. Seleccionando el pivote 230<br/>8.6.4. Estrategia de partición 232<br/>8.6.5. Elementos iguales al pivote 234<br/>8.6.6. Partición con la mediana de tres 234<br/>8.6.7. Vectores pequeños 235<br/>8.6.8. Rutina de quicksort en Java 236<br/>8.7. Selección rápida 238<br/>8.8. Una cola inferior para la ordenación 240<br/>9. Números aleatorios 249<br/>9.1. ¿Por qué son necesarios los números aleatorios? 249<br/>9.2. Generadores de números aleatorios 250<br/>9.3. Números aleatorios no uniformes 256<br/>9.4. Generación de una permutación aleatoria 258<br/>9.5. Algoritmos aleatorios 259<br/>9.6. Test aleatorio de primalidad 261<br/>TERCERA PARTE. Aplicaciones<br/>10. Juegos y diversión 273<br/>10.1. Sopas de letras 273<br/>10.1.1 Teoría 274<br/>10.1.2. Implementación en Java 276<br/>10.2. El juego de las tres en raya 281<br/>10.2.1. Poda alfa-beta 281<br/>10.2.2. Tablas de transposición 282<br/>10.3. El ajedrez 285<br/>11. Las pilas y los compiladores 291<br/>11.1. Analizador de símbolos equilibrados 291<br/>11.1.1. El algoritmo básico 291<br/>11.1.2. Implementación 293<br/>11.2. Una calculadora sencilla 301<br/>11.2.1. Máquinas postfijas 302<br/>11.2.2. Conversión de notación infija a postfija 302<br/>11.2.3. Implementación 305<br/>11.2.4. Arboles sintácticos de expresiones 312<br/>12. Utilidades 317<br/>12.1. Compresión de ficheros 317<br/>12.1.1. Códigos sin prefijos 318<br/>12.1.2. Algoritmo de Huffman 320<br/>12.1.3. La fase de codificación 322<br/>12.1.4. La fase de decodificación 323<br/>12.1.5. Consideraciones prácticas 324<br/>12.2. Generador de referencias cruzadas 324<br/>12.2.1. Ideas básicas 324<br/>12.2.2. Implementación en Java 325<br/>13. Simulación 335<br/>13.1. El problema Josephus 335<br/>13.1.1. La solución simple 336<br/>13.1.2. Un algoritmo más eficiente 338<br/>13.2. Simulación dirigida por eventos 340<br/>13.2.1. Ideas básicas 340<br/>13.2.2. Ejemplo: simulación de un banco de módems 341<br/>14. Grafos y caminos 353<br/>14.1. Definiciones 353<br/>14.1.1. Representación 355<br/>14.2. Problema del camino mínimo sin pesos 366<br/>14.2.1. Teoría 366<br/>14.2.2. Implementación en Java 370<br/>14.3. Problema de los caminos mínimos con pesos positivos 371<br/>14.3.1. Teoría: algoritmo de Dijkstra 371<br/>14.3.2. Implementación en Java 375<br/>14.4. Problema del camino mínimo con costes negativos 376<br/>14.4.1. Teoría 376<br/>14.4.2. Implementación en Java 377<br/>14.5. Problemas de caminos en grafos acíclicos 379<br/>14.5.1. Ordenación topológica 379<br/>14.5.2. Teoría del algoritmo de caminos mínimos con un grafo acíclico 381<br/>14.5.3. Implementación en Java 382<br/>14.5.4. Una aplicación: análisis de caminos críticos 382<br/>CUARTA PARTE. Implementaciones<br/>15. Pilas y colas 395<br/>15.1. Implementación dinámica de vectores 395<br/>15.1.1. Pilas 395<br/>15.1.2. Colas 399<br/>15.2. Implementaciones con listas enlazadas 404<br/>15.2.1. Pilas 404<br/>15.2.2. Colas 408<br/>15.3. Comparación de los dos métodos 409<br/>15.4. Colas dobles 411<br/>16. Listas enlazadas 415<br/>16.1. Ideas básicas 415<br/>16.1.1. Nodos cabecera 417<br/>16.1.2. Clases iteradoras 418<br/>16.2. Implementación en Java 419<br/>16.3. Listas doblemente enlazadas y listas enlazadas circulares 426<br/>16.4. Listas enlazadas ordenadas 428<br/>17. Arboles 435<br/>17.1. Arboles generales 435<br/>17.1.1. Definiciones 435<br/>17.1.2. Implementación 437<br/>17.1.3. Una aplicación: sistemas de ficheros 437<br/>17.2. Arboles binarios 441<br/>17.3. Arboles y recursión 448<br/>17.4. Recorrido de árboles: clases iteradoras 450<br/>17.4.1. Recorrido en postorden 453<br/>17.4.2. Recorrido en orden simétrico 457<br/>17.4.3. Recorrido en preorden 458<br/>17.4.4. Recorrido por niveles 459<br/>18. Arboles binarios de búsqueda 467<br/>18.1. Ideas básicas 467<br/>18.1.1. Las operaciones 468<br/>18.1.2. Implementación en Java 470<br/>18.2. Búsqueda por posición en el orden 477<br/>18.2.1. Implementación en Java 477<br/>18.3. Análisis de las operaciones de los árboles binarios de búsqueda 481<br/>18.4. Arboles AVL 484<br/>18.4.1. Propiedades 485<br/>18.4.2. Rotación simple 487<br/>18.4.3. Rotación doble 490<br/>18.4.4. Resumen de la inserción en un árbol AVL 492<br/>18.5. Arboles rojinegros 492<br/>18.5.1. Inserción ascendente 493<br/>18.5.2. Arboles rojinegros descendentes 495<br/>18.5.3. Implementación en Java 497<br/>18.5.4. Eliminación descendente 503<br/>18.6. AA-Arboles 505<br/>18.6.1. Inserción 506<br/>18.6.2. Eliminación 509<br/>18.6.3. Implementación en Java 509<br/>18.7. B-Arboles 512<br/>19. Tablas hash 527<br/>19.1. Ideas básicas 527<br/>19.2. Función de localización 529<br/>19.3. Exploración lineal 531<br/>19.3.1. Análisis de la exploración lineal 532<br/>19.3.2. Lo que sucede realmente: la agrupación primaria 533<br/>19.3.3. Análisis de la operación buscar 534<br/>19.4. Exploración cuadrática 536<br/>19.4.1. Implementación en Java 541<br/>19.4.2. Análisis de la exploración cuadrática 544<br/>19.5. Hashing enlazado 545<br/>20. Una cola de prioridad: el montículo binario 553<br/>20.1. Ideas básicas 553<br/>20.1.1. Propiedad estructural 554<br/>20.1.2. Propiedad de ordenación de los montículos 555<br/>20.1.3. Operaciones permitidas 556<br/>20.2. Implementación de las operaciones básicas 559<br/>20.2.1. insertar 559<br/>20.2.2. eliminarMin 562<br/>20.3. arreglarMontículo: construcción en tiempo lineal del montículo 564<br/>20.4. Operaciones avanzadas: reducirClave y mezclar 568<br/>20.5. Ordenación interna: método del montículo 568<br/>20.6. Ordenación externa 571<br/>20.6.1. Por qué necesitamos nuevos algoritmos 572<br/>20.6.2. Modelo de ordenación externa 572<br/>20.6.3. El algoritmo sencillo 572<br/>20.6.4. Mezcla multiaria 574<br/>20.6.5. Mezcla multifase 575<br/>20.6.6. Selección del reemplazo 576<br/>QUINTA PARTE. Estructuras de datos avanzadas<br/>21. Arboles de ensanchamiento 587<br/>21.1. Auto-ajustamiento y análisis amortizado 587<br/>21.1.1. Cotas de tiempo amortizadas 588<br/>21.1.2. Una estrategia simple de auto-ajustamiento (que no funciona) 589<br/>21.2. Arboles básicos de ensanchamiento ascendente 591<br/>21.3. Operaciones básicas de los árboles de ensanchamiento 593<br/>21.4. Análisis del ensanchamiento ascendente 594<br/>21.4.1. Demostración de la cota de ensanchamiento 597<br/>21.5. Arboles de ensanchamiento descendente 600<br/>21.6. Implementación de los árboles con ensanchamiento descendente 602<br/>21.7. Comparaciones de los árboles de ensanchamiento con otros árboles de búsqueda 608<br/>22. Colas de prioridad con mezcla 613<br/>22.1. Los montículos sesgados 613<br/>22.1.1. La mezcla es importante 613<br/>22.1.2. Mezcla simple de árboles con ordenación de montículos 614<br/>22.1.3. El montículo sesgado: una modificación sencilla 615<br/>22.1.4. Análisis del montículo sesgado 616<br/>22.2. Los montículos de emparejamientos 618<br/>22.2.1. Operaciones del montículo de emparejamientos y teoría 618<br/>22.2.2. Implementación del montículo de emparejamientos 620<br/>22.2.3. Aplicación: el algoritmo de Dijkstra para la obtención de caminos mínimos 626<br/>23. Estructura de partición 633<br/>23.1. Relaciones de equivalencia 633<br/>23.2. Equivalencia dinámicas y dos aplicaciones 634<br/>23.2.1. Aplicación #1: árboles de recubrimiento mínimo 635<br/>23.2.2. Aplicación #2: el problema del antecesor común mas próximo 637<br/>23.3. El algoritmo de búsqueda rápida 641<br/>23.4. El algoritmo de unión rápida 642<br/>23.4.1. Algoritmos de unión inteligentes 643<br/>23.4.2. Compresión de caminos 645<br/>23.5. Implementación en Java 647<br/>23.6. Caso peor de la unión por rango y la compresión de caminos 648<br/>23.6.1. Análisis del algoritmo unir/buscar 649<br/>APENDICES<br/>A. Plataformas para Java<br/>B. Operadores<br/>C. Algunas rutinas de librerías<br/>D. Interfaces gráficas de usuario<br/>Indice analítico
650 14 - Punto de acceso adicional de materia - Término de materia
Término de materia PROGRAMACION DE COMPUTADORAS
650 14 - Punto de acceso adicional de materia - Término de materia
Término de materia LENGUAJE DE PROGRAMACION
650 14 - Punto de acceso adicional de materia - Término de materia
Término de materia JAVA
942 ## - ADDED ENTRY ELEMENTS (KOHA)
Tipo de ítem Koha Libro
Esquema de clasificación Clasificación Decinal Universal
Existencias
Estado Estado perdido Estado de conservación Tipo de préstamo Biblioteca Biblioteca Fecha de adquisición Número de inventario Total Checkouts ST completa de Koha Código de barras Date last seen Date last checked out Precio efectivo a partir de Tipo de ítem Koha
      Sólo Consulta Facultad Regional Santa Fe - Biblioteca "Rector Comodoro Ing. Jorge Omar Conca" Facultad Regional Santa Fe - Biblioteca "Rector Comodoro Ing. Jorge Omar Conca" 02/02/2018 8031 1 004.438JAVA W436 8031 14/12/2023 14/12/2023 02/02/2018 Libro