Data structures using C

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 bas...

Descripción completa

Detalles Bibliográficos
Autor principal: Bandyopadhyay, Samir Kumar (-)
Otros Autores: Dey, Kashi Nath
Formato: Libro electrónico
Idioma:Inglés
Publicado: New Delhi, India : Pearson 2008.
Edición:1st edition
Colección:Always learning.
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009629632706719
Tabla de Contenidos:
  • Cover
  • Preface
  • Contents
  • Chapter 1: Fundamentals of Data Representation
  • 1.1 Basic Concepts of Data Representation
  • 1.2 Data Type
  • 1.3 Data Abstraction and Abstract Data Types
  • 1.4 System-Defined Data Type
  • 1.5 Primitive Data Structures and their Representation
  • Exercises
  • Chapter 2: Fundamentals of Data Structures- Basic Concepts
  • 2.1 Introduction to Data Structure
  • 2.2 Algorithm for Data Structure
  • 2.3 Notation for Algorithm
  • 2.3.1 Flowcharts
  • 2.3.2 Pseudocode
  • 2.3.3 Decision Tables
  • 2.4 Modularisation to Algorithm Design
  • 2.4.1 Top-Down Design Approach
  • 2.4.2 Bottom-Up Approach
  • 2.5 Analysis of Algorithms
  • 2.5.1 Asymptotic Analysis
  • 2.5.2 Space Complexity
  • 2.6 Structured Programming
  • Exercises
  • Chapter 3: Arrays
  • 3.1 Linear Arrays
  • 3.2 Arrays in C
  • 3.3 Initializing Arrays
  • 3.4 Insertion and Deletion
  • 3.5 Multidimensional Arrays
  • 3.6 Row-Major and Column-Major Order
  • Exercises
  • Chapter 4: String Processing and Pattern Matching
  • 4.1 Introduction to String Processing
  • 4.2 String Representation
  • 4.3 String Manipulation
  • 4.4 Pattern Matching
  • 4.5 The Brute-Force Algorithm
  • 4.5.1 Algorithm: Brute-Force Pattern Matching
  • 4.6 Kunth-Morris-Pratt Algorithm
  • 4.6.1 Algorithm A: Kunth-Morris-Pratt Pattern Matching
  • 4.6.2 Algorithm B: Kunth-Morris-Pratt Pattern Matching
  • 4.7 Boyer-Moore Algorithm
  • Exercises
  • Chapter 5: Pointers
  • 5.1 Introduction
  • 5.2 Fundamentals and Defining Pointers
  • 5.3 Type Specifiers and Scalars for Pointers
  • 5.4 Operations Using Pointers
  • 5.5 Passing Pointers to Functions
  • 5.6 Pointers and Arrays, Pointer Arithmetic
  • 5.7 Pointers and Two-Dimensional Arrays
  • 5.8 Array of Pointers
  • 5.9 Pointers to Pointers
  • 5.10 Pointers to Functions
  • 5.11 Command the Arguments
  • Exercises
  • Chapter 6: Stacks and Queues.
  • 6.1 Introduction to Stack
  • 6.2 Array Implementation of Stacks
  • 6.3 Application of Stack
  • 6.4 Introduction to Queue
  • 6.5 Queue Implementation Using Arrays
  • Exercises
  • Chapter 7: Recursion
  • 7.1 Basic Concepts of Recursion
  • 7.2 Recursion Implementation
  • 7.3 The Tower of Hanoi
  • 7.4 Time and Space Requirements
  • 7.5 Recursion vs Iteration
  • 7.6 Examples
  • 7.7 Cost of Recursion
  • Exercises
  • Chapter 8: Lists
  • 8.1 Sequential Lists
  • 8.2 Linked Lists
  • 8.3 List Implementations
  • 8.3.1 Array-Based Linked-List Implementation
  • 8.4 Application of Linked List (Array Based Implementation)
  • 8.5 Pointer Based Implementation of Linked Lists
  • 8.6 Application of Linked List ( Pointer Based Implementation)
  • Exercises
  • Chapter 9: Linked Lists-Variants
  • 9.1 Linked Stacks
  • 9.2 Linked Queues
  • 9.3 Variants of Linked Lists
  • 9.3.1 Lists with Fixed Head Nodes
  • 9.3.2 Circular Linked List
  • 9.3.3 Doubly Linked Lists
  • 9.4 Applications of Linked Lists
  • 9.4.1 Sparse Polynomial Manipulation
  • 9.4.2 Large Integer Arithmetic
  • Exercises
  • Chapter 10: Sorting
  • 10.1 Introduction
  • 10.2 Sorting Techniques
  • 10.2.1 Insertion Sort
  • 10.2.2 Selection Sort
  • 10.2.3 Bubble Sort
  • 10.2.4 Complexity Analysis
  • 10.2.5 Shell Sort
  • 10.2.6 Quick Sort
  • 10.2.7 Merge Sort
  • 10.2.8 Heap Sort
  • 10.3 Sorting on Multiple Keys
  • Exercises
  • Chapter 11: Searching
  • 11.1 Introduction
  • 11.2 Sequential Search
  • 11.3 Binary Search
  • 11.3.1 Algorithm Binary Search
  • 11.4 Indexed Sequential Search
  • 11.5 Hashing Schemes
  • Exercises
  • Chapter 12: Trees
  • 12.1 Fundamental Terminologies
  • 12.2 Binary Trees
  • 12.3 Traversals of Binary Tree
  • 12.4 Threaded Binary Tree
  • 12.5 Binary Searchtrees
  • 12.5.1 Building a Binary Search Tree
  • 12.5.2 Deleting a Node from a Binary Search Tree
  • 12.6 AVL Trees.
  • 12.6.1 Inserting a Node Into an AVL Tree
  • 12.6.2 Deleting a Node from an AVL Tree
  • 12.7 B-Trees
  • 12.7.1 Generation of a B-Tree
  • 12.7.2 Searching for a Key in B-Tree
  • 12.7.3 Inserting a Key into B-Tree
  • 12.7.4 Deleting a Key from B-Tree
  • Exercises
  • Chapter 13: Graphs
  • 13.1 Introduction
  • 13.2 Graph Fundamentals
  • 13.3 Graph Representation
  • 13.3.1 Adjacency Matrix
  • 13.3.2 Adjacency Lists
  • 13.4 Graph Traversal
  • 13.4.1 Breadth-First Search
  • 13.4.2 Depth-First Search
  • Exercises
  • Index.