Está en la página 1de 387
© Estructuras de datos en 7 . ane > ao ClO Java 7 Sea rca Ceea tie Rica Peat oe en at Cereus Dictate Narre oe eee cen Incas Nee ree ecw) enfoque actual, a través de la Perea eit) PIP cake eeeate tie eres ene Ruud OMT eect ea kG acto ee eee atic 1) Cee erie Re tt anmery Oca icc) Peataeecn eran Bee eee ceric variedad de ejemplos practicos, Pree tet ete an aca er eeu na Ete ees ace! Ponte our AOR eri ac) e Pee Cold MARK ALLEN WEISS (eerie nee BPAY. Caracteristicas Ce eu ered Cee ame rake ac) entidad, cuyo cédigo original Peer eit euler NE Rc) y revisado por un programador cael eae tes MEE) eer Mec enue e Ce Seca m rien amen ted Pearce eek AUC} (ue See a ecu PCS ie ue cca BeOS cae acs? al final de cada capitulo para Peg teu eid es eee ete set iy eee ee es cuces asec ae entre los distintos capitulos. Nea COMM ele Me Mae Runa Cur University. Se doctoré en Ciencias de la Computacién en la Universidad de eee ae en RR eeu eel om eee les PCE restated catch aru cect Peer ace mane iis ie kt Cuca R Ck Ol ie lenguajes estructurados mas modernos, que se ha materializado en diversos —__ Secrets ER Met erage RSet a eae kel) ER hee Ce ie eit ea eee ee Reem eee eee TSBN a4 035-4 9 il il bere ESO NN Secon A Contenido Prélogo | ce . _ . XIX Un enfoque novedoso. were: “: ns wae XX Prerrequisitos.... cone 2 — XX Java.. . ce 7 ce = ‘XXI Organizacién del libro: —e . a ee XXII Organizacién del libro por capitulos........ suanmeeewe XXII Dependencias entre capitulos . woe ce . XXIV Partes independientes xe - — 2 XXIV Fundamentos matemiaticos ae ane ws . XXV Organizacién del curso....... XXV Ejercicios ne XXVI Detalles pedadégice . XXVI Disponibilidad del cédigo.. eons XXVL Gufa del profesor 0 eonaitiniitss., SOMME Agradecimientos . XXVIT Prélogo a la edicién en espafiol...... a wees XXIX, PRIMERA PARTE Un recorrido por Java 1. Java bésico. 3 1.2. El primer programa 5 1.2.1. Comentarios 5 1.2.2. main a e 6 Le Salida por pantalla 6 1.3.1. Los tipos primitivos . 6 1.3.3, Declaracidn e inicializacin de tipos primitivos .... z 1.3.4. Entrada y salida por terminal 8 a 1.4. Operadores basicos... ‘ 8 1.4.1. Operadores de asignacién 8 1.4.2, Operadores aritméticos binarios 9 1.4.3. Operadores unarios. 10 14.4. Conversiones de tipo o 10 1.5, _Instrucciones condicionales.. 1.5.1. Operadores relacionales y de igualdad u 15.2, Operadores l6gicos ul 15.3. La instruccién i£ 12 15.4. La instruccién white 13 155. La instruccién for. Fete nes ae 1.56. La instruccién do... TERRES . 15 15.7. break y continue... . i 15 1.5.8. La instrucein switch Fe — 16 1.5.9. El operador condicional ce ee _ - 17 1.6. Métodos 18 1.6.1. Sobrecarga de los nombres de los métodos . . 18 1.6.2. Clases de almacenamiento o cnn Fipiaeean 19) Resumen...... ce 19 Elementos del juego sexepuaistie - croncares OO) Errores comunes...... ss ce . nnmmacieess Bl En Internet 2 Ejercicios. 2 Bibliografia.... 2 4 2. Referencias 25 2.1, Qué es una referencia?.... 25 2.2. Nociones bisicas sobre objetos y referencias. 1 2.2.1, El operador punto (.) 28 2.2.2. Declaracién de objeto: 28 2.2.3, Recogida de basura 29 2.24. El significado de =........ 29 2.2.5. Paso de parémetros . 30 2.2.6. El significado di 31 2.2.7. Sobrecarga de operadores para objetos 31 2.3. Cadenas de caracteres . ce 31 2.3.1. Conceptos bisicos de la manipulacién de Strings... 32 2.3.2. Concatenacién de cadenas 32 2.3.3. Comparando cadenas......... ‘ sts le 33 2.34. Otros métodos del tipo String... . gczateroeats! 38 2.3.5. Conversidn entre cadenas y tipos primitivos.............. cee BB 24. Vectores. . 34 24.1. Declaraci6n, asignacin y métodos. 4 2.4.2. Expansién dinémica de vectores 36 24.3. Vectores multidimensionales .... 3 sities cia? 37 2.4.4. Argumentos de la linea de comandos. r 39 2.5. Manejo de excepciones 39 2.5.1. Procesamiento de excepciones. 39 2. La cléusula finally... 2.5.3. Excepciones mas comunes 4, Las cléusulas throw y throws .. 2.6. Entrada y salida.. 26.1. Operaciones bisicas de E/S 2.6.2. El objeto StringTokenizer.... 2.6.3. Ficheros de acceso secuencial .. Resumen Elementos del juego Errores_comunes En Internet... Ejercicios z Referencias seimewsrenarnaense Objetos y clases SI 3.1, {Qué es la programacién orientada a objetos? si 3.2. Un ejemplo sencillo 33 3.3. Javadoc : 34 34, Métodos 37 3.4.1, Constructores " 37 3.4.2. Métodos modificadores y de acceso 37 34.3. Salida y toString... cece cecceesseceseteetesesesseeeseeees 58 344. equals... 58 3.4.5. Métodos static....... 59 3.46. main.. 60 3.5. Paquetes 60 3.5.1, La directiva import 60 3.5.2. La instrucci6n package 61 3.5.3. La variable de entorno CLASSPATH. nei 62 3.54, Reglas de visibifidad amistosa dentro de un paquete 63 5. Compilacién separada 64 3.6. Construcciones adicionales 64 3.6.1, La referencia this. 64 3.62. La abreviatura this para constructores. 65 3.6.3. El operador instanceof . ha 65 3.6.4. Atributos estaticos... i 65 3.6.5. Inicializadores. estéticos 66 Resumen 67 Elementos del juego 68 Errores_ comunes 69 En Internet... 69 Ejercicios 70 Bibliogratia 1 Retenclalsa2 gcncsarvras mere eee us B 4.1. (Qué es la herencia? 3 4.2. Sintaxis basica de Java...... . . ‘caendectbitin a 76 4.2.1, Realas de visibilidad Tec RETR lscaeaa eee 16 4.2.2. El constructor y super 4.2.3, Métodos y clases finales .... 4.2.4. Sobreescribiendo un método 4.2.5. Métodos y clases abstractos 4.3. Ejemplo: extensidn de la clase Figura...... 4.3.1. Disgresién: una introducci6n a ta ordenacién... 44. Herencia miltiple 45. El interfaz revere 4.5.1. Especificacién de una interfaz 4.5.2. Implementacién de una interfaz 4.5.3. Varios inferfaces....... 4.6. Implementacién de componentes genéricas. Resumen... Seance ei Elementos del juego..... vee Errores_ comunes En Internet Ejercicios......, Bibliografia.... SEGUNDA PARTE Algoritmos y fundamentos de programacién Analisis de algoritmos 5.1. {Qué es el andlisis de algoritmos? 5.2. Ejemplos de tiempo de ejecucién de algoritmos 5.3. El problema de la subsecuencia de suma maxima 5.3.1. El algoritmo O(N‘) obvio 5.3.2. Un algoritmo mejorado O( 5.33. Un algoritmo lineal 54, Reglas generales para la notacién O 5.5. Logaritmos 5.6. Problema de la bisqueda estética 5.6.1, Buisqueda secuencial 5.6.2, Baisqueda binaria 5.6.3, Buisqueda interpolada... 5.7. Comprobar el andlisis de un algoritmo cis 5.8. Limitaciones del andlisis 0 eae zi Resumen - Elementos del juego......... on RoR 7 Errores comunes. En Internet Ejercicios. Bibliografia Estructuras de datos 6.1. {Por qué necesitamos estructuras de datos? . 6.2. Las pilas 6.2.1. Las pilas y los lenguajes de programacién... 7. 8. 63. Las colas . 6.4. Listas enlazadas 6.5. Arboles generales sepazn 6.6. Arboles binarios de biisqueda........ 6.7. Tablas hash 6.8. Colas de prioridad Resumen... spat SEEREBIRES . Elementos del juego... Errores_ comunes pounce Eli INCRE cercecearversvexsnananaeta Ejercicios Bibliografia Recursion...... eens ensisSSRTEHER TA. (Qué es la recursién?. 7.2. Fundamentos: demostraciones por indu 7.3. Recursién basica oe . 73.1, Impresién de ntimeros en cualquier base we 7.3.2. (Por qué funciona? .........606+ 7 7.3.3. Cémo funciona na 7.34. Demasiada recursi6n puede ser pairs 8 7.3.5. Ejemplos adicionales 74. Aplicaciones numéricas 74.1. Aritmética modular... 7.4.2. Exponenciacin modular : 7.4.3, Maximo comiin divisor ¢ inversos multiplicativos . 7.4.4. Bl sistema de criptografia RSA 7.5. Algoritmos divide y vencerds 7.5.1. El problema de la subsecuencia de suma méxima... 7.5.2. Anilisis de un algoritmo divide y vencerés sencillo 1 Uina cota superior general para los tiempos de ejecucidn de fos algoritmos di- vide y venceris 7.6. Programacién dinémica 7.1. Algoritmos de vuelta atris Resumen Elementos del juego Errores. comunes En Internet Ejercicios. : Bibliograffa Algoritmos de ordenacién 8.1. {Por qué es importante la ordenacién? 8.2. Preliminares. 83. Andlisis de la ordenaci6n por insercin y otras ordenaciones simples. 8.4, Shellsort.. 8.4.1. Rendimiento de Shellson 165 165 166 170 170 172 174 175 176 180 181 181 183 185 188 188 190 195 197 201 205 205 206 207 207 2u 213 213 215 215 217 219

También podría gustarte