Cargando…

Data structures and algorithms /

This is an excellent, up-to-date and easy-to-use text on data structures and algorithms that is intended for undergraduates in computer science and information science. The thirteen chapters, written by an international group of experienced teachers, cover the fundamental concepts of algorithms and...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Otros Autores: Chang, S. K. (Shi Kuo), 1944-
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Singapore ; River Edge, NJ : World Scientific, ©2003.
Colección:Series on software engineering and knowledge engineering ; v. 13.
Temas:
Acceso en línea:Texto completo
Tabla de Contenidos:
  • Preface; Contents; Chapter 1 Introduction to the Fundamentals of Algorithms; 1.1. Introduction; 1.2. Ancient Algorithms; 1.3. Algorithm 1: Sum of the Powers of 2 with an Exponent from 1 to 10 (1800-1600 B.C.); 1.4. Algorithm 2: Sum of the Squares of Numbers from 1 to 10 (1800-1600 B.C.); 1.5. Algorithm 3: (1800-1600 B.C.); 1.6. Data: Definition and Characteristics; 1.7. Algorithm Environment; 1.8. Algorithm: Definition and Characteristics; 1.8.1. Definition; 1.8.2. Characteristics; 1.8.3. Algorithm and Program; References; Exercises; Chapter 2 The Running Time of an Algorithm.
  • 2.1. General Considerations about the Execution Time2.2. Execution Time; 2.2.1. The Execution Time of a Program as Function of the Dimension of the Data; 2.3. Comparisons Between Different Execution Times; 2.4. Big-O Notation: The Approximation of the Execution Time; 2.4.1. Introduction; 2.4.2. Big-O Notation; 2.4.3. Some Examples; 2.5. Simplification of the Expressions in Big-O Notation; 2.5.1. Transitive Law for Big-O Notation; 2.5.2. The Choice of the Precision; 2.5.3. Rule of the Sum; 2.5.4. Incommensurable Functions; 2.6. Analysis of the Execution Time of a Program.
  • 2.6.1. The Execution Time of Simple Instructions2.6.2. The Execution Time of the ""for"" Loop; 2.6.3. The Execution Time of the ""if"" Structure; 2.6.4. The Execution Time of a Sequence of Instructions; 2.6.5. The Execution Time of Iterative Structures (While and Do- While); 2.7. Recursion Rules for Execution Time Evaluation: The Nesting Tree Approach; 2.7.1. Construction Rules of the Instructions; 2.7.2. Rule for the Construction of Upper Limit of the Execution Time of a Program; 2.7.3. Example for a Simple Program: The Execution Time of the Bubble Sort Program.
  • Chapter 3 The Execution Time of an Algorithm: Advanced Considerations3.1. The Execution Time Analysis of a Program: The Case of Nonrecursive Functions; 3.2. Examples for Nonrecursive Function Calls; 3.3. The Execution Time Analysis of a Program: The Case of Recursive Function Units; 3.3.1. Examples of Nonrecursive Calls; 3.4. Other Methods for the Solution of the Recurrence Equations; Exercises; Chapter 4 Abstract Data Types; 4.1. Introduction to Abstract Data Types; 4.2. Abstract Data Types and Object-Oriented Languages; 4.3. Packages; 4.4. Generic Abstract Data Types.
  • 4.5. Software Design with Abstract Data Types4.6. Conclusions; Exercises; Chapter 5 Stacks, Recursion and Backtracking; 5.1. Stacks; 5.1.1. The LIFO Nature of Stacks; 5.1.2. Reversing with a Stack; 5.1.3. Stack Operations; 5.1.4. Contiguous Implementation; 5.1.5. Linked Implementation; 5.2. Recursion; 5.2.1. Introduction; 5.2.2. Procedure Calls and the Run-Time Stack; 5.2.3. Sum of the First n Positive Integers; 5.2.4. Factorials; 5.2.5. Collatz 3x + 1 Problem; 5.2.6. Greatest Common Divisor; 5.2.7. Towers of Hanoi; 5.2.8. Reversing a Line of Input; 5.3. Backtracking; 5.3.1. Introduction.