Mastering algorithms with C

There are many books on data structures and algorithms, including some with useful libraries of C functions. Mastering Algorithms with C offers you a unique combination of theoretical background and working code. With robust solutions for everyday programming tasks, this book avoids the abstract st...

Descripción completa

Detalles Bibliográficos
Autor principal: Loudon, Kyle (-)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Sebastopol, California : O'Reilly 1999.
Edición:First edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009626989406719
Tabla de Contenidos:
  • Mastering Algorithms with C; Preface; Part II; Part III; Key Features; About the Code; Conventions; How to Contact Us; Acknowledgments; I. Preliminaries; 1.2. An Introduction to Algorithms; 1.2.1.2. Divide-and-conquer algorithms; 1.2.1.3. Dynamic-programming solutions; 1.2.1.4. Greedy algorithms; 1.2.1.5. Approximation algorithms; 1.3. A Bit About Software Engineering; 1.4. How to Use This Book; 2. Pointer Manipulation; 2.2. Storage Allocation; 2.3. Aggregates and Pointer Arithmetic; 2.3.2. Arrays; 2.4. Pointers as Parameters to Functions; 2.4.2. Pointers to Pointers as Parameters
  • 2.5. Generic Pointers and Casts2.5.2. Casts; 2.6. Function Pointers; 2.7. Questions and Answers; 2.8. Related Topics; 3. Recursion; 3.2. Tail Recursion; 3.3. Questions and Answers; 3.4. Related Topics; 4. Analysis of Algorithms; 4.2. O-Notation; 4.2.2. O-Notation Example and Why It Works; 4.3. Computational Complexity; 4.4. Analysis Example: Insertion Sort; 4.5. Questions and Answers; 4.6. Related Topics; II. Data Structures; 5.2. Interface for Linked Lists; list_destroy; list_ins_next; list_rem_next; list_size; list_head; list_tail; list_is_head; list_is_tail; list_data; list_next
  • 5.3. Implementation and Analysis of Linked Lists5.3.2. list_destroy; 5.3.3. list_ins_next; 5.3.4. list_rem_next; 5.3.5. list_size, list_head, list_tail, list_is_tail,list_data, and list_next; 5.4. Linked List Example: Frame Management; 5.5. Description of Doubly-Linked Lists; 5.6. Interface for Doubly-Linked Lists; dlist_destroy; dlist_ins_next; dlist_ins_prev; dlist_remove; dlist_size; dlist_head; dlist_tail; dlist_is_head; dlist_is_tail; dlist_data; dlist_next; dlist_prev; 5.7. Implementation and Analysis of Doubly Linked Lists; 5.7.2. dlist_destroy; 5.7.3. dlist_ins_next
  • 5.7.4. dlist_ins_ prev5.7.5. dlist_remove; 5.7.6. dlist_size, dlist_head, dlist_tail, dlist_is_head, dlist_is_tail, dlist_data, dlist_next, and dlist_ prev; 5.8. Description of Circular Lists; 5.9. Interface for Circular Lists; clist_destroy; clist_ins_next; clist_rem_next; clist_size; clist_head; clist_data; clist_next; 5.10. Implementation and Analysis of Circular Lists; 5.10.2. clist_destroy; 5.10.3. clist_ins_next; 5.10.4. clist_rem_next; 5.10.5. clist_size, clist_head, clist_data, and clist_next; 5.11. Circular List Example: Second-Chance Page Replacement; 5.12. Questions and Answers
  • 5.13. Related Topics6. Stacks and Queues; 6.2. Interface for Stacks; stack_destroy; stack_ push; stack_ pop; stack_ peek; stack_size; 6.3. Implementation and Analysis of Stacks; 6.3.2. stack_destroy; 6.3.3. stack_ push; 6.3.4. stack_ pop; 6.3.5. stack_ peek, stack_size; 6.4. Description of Queues; 6.5. Interface for Queues; queue_destroy; queue_enqueue; queue_dequeue; queue_ peek; queue_size; 6.6. Implementation and Analysis of Queues; 6.6.2. queue_destroy; 6.6.3. queue_enqueue; 6.6.4. queue_dequeue; 6.6.5. queue_ peek, queue_size; 6.7. Queue Example: Event Handling
  • 6.8. Questions and Answers