Data Structures Using C
            
                Oxford Higher Education
Publisher: Oxford University Press
Published: 2011
Number of pages: 656
ISBN-13: 9780198065449
Table of contents: title: Preface
pagenum: v; label: 1
title: Introduction to C
pagenum: 1; label: 1.1
title: Introduction
pagenum: 1; label: 1.2
title: Keywords and Identifiers
pagenum: 1; label: 1.3
title: Basic Data Types in C
pagenum: 3; label: 1.4
title: Constants and Variables
pagenum: 4; label: 1.5
title: Writing the First C Program
pagenum: 5; label: 1.6
title: Header Files
pagenum: 7; label: 1.7
title: Input/Output Statement in C
pagenum: 8; label: 1.8
title: Operators in C
pagenum: 12; label: 1.9
title: Type Conversion and Typecasting
pagenum: 24; label: 1.10
title: Decision Control Statements
pagenum: 26; label: 1.11
title: Iterative Statements
pagenum: 37; label: 1.12
title: Break and Continue Statement
pagenum: 58; label: Annexure
title: ASCII Table and Description
pagenum: 67; label: 2
title: Functions
pagenum: 68; label: 2.1
title: Introduction
pagenum: 68; label: 2.2
title: Function Declaration
pagenum: 70; label: 2.3
title: Function Definition
pagenum: 71; label: 2.4
title: Function Call
pagenum: 71; label: 2.5
title: Passing Parameters to the Function
pagenum: 74; label: 2.6
title: Scope of Variables
pagenum: 78; label: 2.7
title: Storage Classes
pagenum: 80; label: 2.8
title: Recursive Functions
pagenum: 83; label: 2.9
title: Types of Recursion
pagenum: 88; label: 2.10
title: Recursion Vs Iteration
pagenum: 90; label: 2.11
title: Tower of Hanoi
pagenum: 91; label: 3
title: Pointers
pagenum: 97; label: 3.1
title: Introduction
pagenum: 97; label: 3.2
title: Declaring Pointer Variables
pagenum: 98; label: 3.3
title: Pointer Expressions and Pointer Arithmetic
pagenum: 100; label: 3.4
title: Null Pointers
pagenum: 106; label: 3.5
title: Generic Pointers
pagenum: 107; label: 3.6
title: Passing Arguments to Function Using Pointers
pagenum: 108; label: 3.7
title: Pointer to Function
pagenum: 110; label: 3.8
title: Pointer to Pointers
pagenum: 111; label: 4
title: Introduction to Data Structures
pagenum: 115; label: 4.1
title: Introduction
pagenum: 115; label: 4.2
title: Types of Data Structures
pagenum: 115; label: 4.3
title: Abstract Data Type
pagenum: 119; label: 4.4
title: Algorithm
pagenum: 121; label: 4.5
title: Key Features of an Algorithm
pagenum: 121; label: 4.6
title: Time and Space Complexity
pagenum: 124; label: 4.7
title: Big-Oh Notation
pagenum: 127; label: 5
title: Arrays
pagenum: 133; label: 5.1
title: Introduction
pagenum: 133; label: 5.2
title: Declaration of Arrays
pagenum: 134; label: 5.3
title: Accessing Array Elements
pagenum: 135; label: 5.4
title: Storing Values in Arrays
pagenum: 136; label: 5.5
title: Calculating the Length of an Array
pagenum: 138; label: 5.6
title: Operations on Arrays
pagenum: 138; label: 5.7
title: One-dimensional Arrays for Inter-function Communication
pagenum: 160; label: 5.8
title: Pointers and Arrays
pagenum: 166; label: 5.9
title: Array of Pointers
pagenum: 170; label: 5.10
title: Two-dimensional Arrays
pagenum: 171; label: 5.11
title: Operations on 2D Arrays
pagenum: 174; label: 5.12
title: 2D Arrays for Inter-function Communication
pagenum: 179; label: 5.13
title: Pointers and Two-dimensional Arrays
pagenum: 183; label: 5.14
title: Array of Function Pointers
pagenum: 185; label: 5.15
title: Multi-dimensional Arrays
pagenum: 186; label: 5.16
title: Sparse Matrices
pagenum: 188; label: 6
title: Strings
pagenum: 194; label: 6.1
title: Introduction
pagenum: 194; label: 6.2
title: String Operations
pagenum: 197; label: 6.3
title: Array of Strings
pagenum: 214; label: 6.4
title: Pointers and Strings
pagenum: 226; label: 7
title: Structures
pagenum: 240; label: 7.1
title: Introduction
pagenum: 240; label: 7.2
title: Nested Structures
pagenum: 246; label: 7.3
title: Arrays of Structures
pagenum: 248; label: 7.4
title: Structures and Functions
pagenum: 251; label: 7.5
title: Self-referential Structures
pagenum: 263; label: Annexure
title: Memory Allocation in C Programs
pagenum: 267; label: 8
title: Linked Lists
pagenum: 274; label: 8.1
title: Introduction
pagenum: 274; label: 8.2
title: Linked List Versus Arrays
pagenum: 276; label: 8.3
title: Memory Allocation and De-allocation for a Linked List
pagenum: 277; label: 8.4
title: Singly Linked List
pagenum: 278; label: 8.5
title: Polynomial Representation
pagenum: 297; label: 8.6
title: Circular Linked List
pagenum: 302; label: 8.7
title: Doubly Linked List
pagenum: 315; label: 8.8
title: Circular Doubly Linked List
pagenum: 332; label: 8.9
title: Header Linked List
pagenum: 345; label: 9
title: Stacks and Queues
pagenum: 351; label: 9.1
title: Stacks
pagenum: 351; label: 9.2
title: Array Representation of Stacks
pagenum: 352; label: 9.3
title: Operations on a Stack
pagenum: 353; label: 9.4
title: Linked Representation of Stack
pagenum: 357; label: 9.5
title: Operations on a Linked Stack
pagenum: 357; label: 9.6
title: Multiple Stacks
pagenum: 361; label: 9.7
title: Infix, Postfix, and Prefix Notation
pagenum: 364; label: 9.8
title: Evaluation of an Infix Expression
pagenum: 366; label: 9.9
title: Convert Infix Expression to Prefix Expression
pagenum: 372; label: 9.10
title: Applications of Stack
pagenum: 376; label: 9.11
title: Queues
pagenum: 378; label: 9.12
title: Array Representation of Queues
pagenum: 379; label: 9.13
title: Circular Queue
pagenum: 382; label: 9.14
title: Linked Representation of a Queue
pagenum: 387; label: 9.15
title: Operations on a Queue
pagenum: 387; label: 9.16
title: Deques
pagenum: 392; label: 9.17
title: Priority Queues
pagenum: 397; label: 9.18
title: Multiple Queues
pagenum: 400; label: Annexure
title: The Stack Abstract Data Type
pagenum: 404; label: 10
title: Trees
pagenum: 406; label: 10.1
title: Binary Trees
pagenum: 406; label: 10.2
title: Expression Trees
pagenum: 412; label: 10.3
title: Tournament Trees
pagenum: 413; label: 10.4
title: Traversing of a Binary Tree
pagenum: 414; label: 10.5
title: Huffman's Tree
pagenum: 417; label: 11
title: Efficient Binary Trees
pagenum: 428; label: 11.1
title: Binary Search Trees
pagenum: 428; label: 11.2
title: Operations on Binary Search Trees
pagenum: 430; label: 11.3
title: Threaded Binary Tree
pagenum: 447; label: 11.4
title: AVL Trees
pagenum: 451; label: 11.5
title: M-way Search Trees
pagenum: 462; label: 11.6
title: B-trees
pagenum: 464; label: 11.7
title: B+ Trees
pagenum: 470; label: 11.8
title: Trie
pagenum: 471; label: 11.9
title: Red-black Tree
pagenum: 473; label: 11.10
title: Splay Tree
pagenum: 485; label: Annexure
title: Program for Simple Right In-threaded Binary Tree
pagenum: 494; label: 12
title: Heaps
pagenum: 501; label: 12.1
title: Binary Heaps
pagenum: 501; label: 12.2
title: Binomial Trees and Binomial Heaps
pagenum: 506; label: 12.3
title: Fibonacci Heaps
pagenum: 519; label: 12.4
title: Comparison of Binary, Binomial, and Fibonacci Heaps
pagenum: 528; label: 12.5
title: Applications of Heaps
pagenum: 529; label: 13
title: Graphs
pagenum: 533; label: 13.1
title: Introduction
pagenum: 533; label: 13.2
title: Transitive Closure of a Directed Graph
pagenum: 536; label: 13.3
title: Bi-connected Graphs
pagenum: 537; label: 13.4
title: Representation of Graphs
pagenum: 538; label: 13.5
title: Graph Traversal Algorithms
pagenum: 544; label: 13.6
title: Topological Sorting
pagenum: 551; label: 13.7
title: Shortest Path Algorithms
pagenum: 557; label: 13.8
title: Applications of Graphs
pagenum: 574; label: Annexure
title: Program for Finding Minimum Spanning Tree
pagenum: 579; label: 14
title: Sorting
pagenum: 581; label: 14.1
title: Introduction
pagenum: 581; label: 14.2
title: Bubble Sort
pagenum: 581; label: 14.3
title: Insertion Sort
pagenum: 586; label: 14.4
title: Selection Sort
pagenum: 588; label: 14.5
title: Merge Sort
pagenum: 591; label: 14.6
title: Quick Sort
pagenum: 595; label: 14.7
title: Radix Sort
pagenum: 599; label: 14.8
title: Heap Sort
pagenum: 603; label: 14.9
title: Shell Sort
pagenum: 606; label: 14.10
title: Comparison of Sorting Algorithms
pagenum: 609; label: 15
title: Hashing and Collision
pagenum: 613; label: 15.1
title: Introduction
pagenum: 613; label: 15.2
title: Hash Table
pagenum: 614; label: 15.3
title: Hash Function
pagenum: 615; label: 15.4
title: Different Hash Functions
pagenum: 615; label: 15.5
title: Collisions
pagenum: 618; label: 15.6
title: Collision Resolution by Chaining
pagenum: 629; label: 15.7
title: Pros and Cons of Hashing
pagenum: 633; label: 15.8
title: Applications of Hashing
pagenum: 633; label: 16
title: Files and Their Organization
pagenum: 638; label: 16.1
title: Introduction
pagenum: 638; label: 16.2
title: Data Hierarchy
pagenum: 638; label: 16.3
title: File Attributes
pagenum: 639; label: 16.4
title: Text Files and Binary Files
pagenum: 640; label: 16.5
title: Basic File Operations
pagenum: 641; label: 16.6
title: File Organization
pagenum: 642; label: 16.7
title: Indexing
pagenum: 646; label: 16.8
title: External Sorting
pagenum: 651; title: Index
pagenum: 655