You are previewing Data Structures Using C.
O'Reilly logo
Data Structures Using C

Book Description

Data Structures Using C brings together a first course on data structures and the complete programming techniques, enabling students and professionals implement abstract structures and structure their ideas to suit different needs. This book elaborates the standard data structures using C as the basic programming tool. It is designed for a one semester course on Data Structures.

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. Preface
  5. Contents
  6. 1. Fundamentals of Data Representation
    1. 1.1 - Basic Concepts of Data Representation
    2. 1.2 - Data Type
    3. 1.3 - Data Abstraction and Abstract Data Types
    4. 1.4 - System-Defined Data Type
    5. 1.5 - Primitive Data Structures and their Representation
    6. Exercises
  7. 2. Fundamentals of Data Structures—Basic Concepts
    1. 2.1 - Introduction to Data Structure
    2. 2.2 - Algorithm for Data Structure
    3. 2.3 - Notation for Algorithm
    4. 2.4 - Modularisation to Algorithm Design
    5. 2.5 - Analysis of Algorithms
    6. 2.6 - Structured Programming
    7. Exercises
  8. 3. Arrays
    1. 3.1 - Linear Arrays
    2. 3.2 - Arrays in C
    3. 3.3 - Initializing Arrays
    4. 3.4 - Insertion and Deletion
    5. 3.5 - Multidimensional Arrays
    6. 3.6 - Row-Major and Column-Major Order
    7. Exercises
  9. 4. String Processing and Pattern Matching
    1. 4.1 - Introduction to String Processing
    2. 4.2 - String Representation
    3. 4.3 - String Manipulation
    4. 4.4 - Pattern Matching
    5. 4.5 - The Brute-Force Algorithm
    6. 4.6 - Kunth-Morris-Pratt Algorithm
    7. 4.7 - Boyer-Moore Algorithm
    8. Exercises
  10. 5. Pointers
    1. 5.1 - Introduction
    2. 5.2 - Fundamentals and Defining Pointers
    3. 5.3 - Type Specifiers and Scalars for Pointers
    4. 5.4 - Operations Using Pointers
    5. 5.5 - Passing Pointers to Functions
    6. 5.6 - Pointers and Arrays, Pointer Arithmetic
    7. 5.7 - Pointers and Two-Dimensional Arrays
    8. 5.8 - Array of Pointers
    9. 5.9 - Pointers to Pointers
    10. 5.10 - Pointers to Functions
    11. 5.11 - Command the Arguments
    12. Exercises
  11. 6. Stacks and Queues
    1. 6.1 - Introduction to Stack
    2. 6.2 - Array Implementation of Stacks
    3. 6.3 - Application of Stack
    4. 6.4 - Introduction to Queue
    5. 6.5 - Queue Implementation Using Arrays
    6. Exercises
  12. 7. Recursion
    1. 7.1 - Basic Concepts of Recursion
    2. 7.2 - Recursion Implementation
    3. 7.3 - The Tower of Hanoi
    4. 7.4 - Time and Space Requirements
    5. 7.5 - Recursion vs Iteration
    6. 7.6 - Examples
    7. 7.7 - Cost of Recursion
    8. Exercises
  13. 8. Lists
    1. 8.1 - Sequential Lists
    2. 8.2 - Linked Lists
    3. 8.3 - List Implementations
    4. 8.4 - Application of Linked List (Array Based Implementation)
    5. 8.5 - Pointer Based Implementation of Linked Lists
    6. 8.6 - Application of Linked List (Pointer Based Implementation)
    7. Exercises
  14. 9. Linked Lists—Variants
    1. 9.1 - Linked Stacks
    2. 9.2 - Linked Queues
    3. 9.3 - Variants of Linked Lists
    4. 9.4 - Applications of Linked Lists
    5. Exercises
  15. 10. Sorting
    1. 10.1 - Introduction
    2. 10.2 - Sorting Techniques
    3. 10.3 - Sorting on Multiple Keys
    4. Exercises
  16. 11. Searching
    1. 11.1 - Introduction
    2. 11.2 - Sequential Search
    3. 11.3 - Binary Search
    4. 11.4 - Indexed Sequential Search
    5. 11.5 - Hashing Schemes
    6. Exercises
  17. 12. Trees
    1. 12.1 - Fundamental Terminologies
    2. 12.2 - Binary Trees
    3. 12.3 - Traversals of Binary Tree
    4. 12.4 - Threaded Binary Tree
    5. 12.5 - Binary Search Trees
    6. 12.6 - AVL Trees
    7. 12.7 - B-Trees
    8. Exercises
  18. 13. Graphs
    1. 13.1 - Introduction
    2. 13.2 - Graph Fundamentals
    3. 13.3 - Graph Representation
    4. 13.4 - Graph Traversal
    5. Exercises
  19. Index
  20. Back Cover