Description

Book Synopsis

Data structures and algorithms is a fundamental course in Computer Science, which enables learners across any discipline to develop the much-needed foundation of efficient programming, leading to better problem solving in their respective disciplines.

A Textbook of Data Structures and Algorithms is a textbook that can be used as course material in classrooms, or as self-learning material. The book targets novice learners aspiring to acquire advanced knowledge of the topic. Therefore, the content of the book has been pragmatically structured across three volumes and kept comprehensive enough to help them in their progression from novice to expert.

With this in mind, the book details concepts, techniques and applications pertaining to data structures and algorithms, independent of any programming language. It includes 181 illustrative problems and 276 review questions to reinforce a theoretical understanding and presents a suggestive list of 108 programming assignments to aid in the implementation of the methods covered.



Table of Contents

Preface ix

Acknowledgments xv

Chapter 8 Trees and Binary Trees 1

8.1 Introduction 1

8.2 Trees: definition and basic terminologies 1

8.2.1 Definition of trees 1

8.2.2 Basic terminologies of trees 2

8.3 Representation of trees 3

8.4 Binary trees: basic terminologies and types 6

8.4.1 Basic terminologies 6

8.4.2 Types of binary trees 7

8.5 Representation of binary trees 8

8.5.1 Array representation of binary trees 8

8.5.2 Linked representation of binary trees 10

8.6 Binary tree traversals 11

8.6.1 Inorder traversal 12

8.6.2 Postorder traversal 16

8.6.3 Preorder traversal 19

8.7 Threaded binary trees 22

8.7.1 Linked representation of a threaded binary tree 24

8.7.2 Growing threaded binary trees 24

8.8 Applications 25

8.8.1 Expression trees 26

8.8.2 Traversals of an expression tree 27

8.8.3 Conversion of infix expression to postfix expression 27

8.8.4 Segment trees 31

8.9 Illustrative problems 42

Chapter 9 Graphs 61

9.1 Introduction 61

9.2 Definitions and basic terminologies 63

9.3 Representations of graphs 75

9.3.1 Sequential representation of graphs 76

9.3.2 Linked representation of graphs 80

9.4 Graph traversals 81

9.4.1 Breadth first traversal 81

9.4.2 Depth first traversal 83

9.5 Applications 87

9.5.1 Single source shortest path problem 87

9.5.2 Minimum cost spanning trees 90

9.6 Illustrative problems 97

Chapter 10 Binary Search Trees and AVL Trees 115

10.1 Introduction 115

10.2 Binary search trees: definition and operations 115

10.2.1 Definition 115

10.2.2 Representation of a binary search tree 116

10.2.3 Retrieval from a binary search tree 117

10.2.4 Why are binary search tree retrievals more efficient than sequential list retrievals? 118

10.2.5 Insertion into a binary search tree 120

10.2.6 Deletion from a binary search tree 122

10.2.7 Drawbacks of a binary search tree 125

10.2.8 Counting binary search trees 128

10.3 AVL trees: definition and operations 130

10.3.1 Definition 131

10.3.2 Retrieval from an AVL search tree 132

10.3.3 Insertion into an AVL search tree 133

10.3.4 Deletion from an AVL search tree 141

10.3.5 R category rotations associated with the delete operation 146

10.3.6 L category rotations associated with the delete operation 150

10.4 Applications 151

10.4.1 Representation of symbol tables in compiler design 151

10.5 Illustrative problems 154

Chapter 11 B Trees and Tries 175

11.1 Introduction 175

11.2 m-way search trees: definition and operations 176

11.2.1 Definition 176

11.2.2 Node structure and representation 176

11.2.3 Searching an m-way search tree 178

11.2.4 Inserting into an m-way search tree 178

11.2.5 Deleting from an m-way search tree 179

11.2.6 Drawbacks of m-way search trees 184

11.3 B trees: definition and operations 184

11.3.1 Definition 184

11.3.2 Searching a B tree of order m 186

11.3.3 Inserting into a B tree of order m 186

11.3.4 Deletion from a B tree of order m 190

11.3.5 Height of a B tree of order m 194

11.4 Tries: definition and operations 195

11.4.1 Definition and representation 195

11.4.2 Searching a trie 197

11.4.3 Insertion into a trie 197

11.4.4 Deletion from a trie 198

11.4.5 Some remarks on tries 200

11.5 Applications 200

11.5.1 File indexing 201

11.5.2 Spell checker 203

11.6 Illustrative problems 204

Chapter 12 Red-Black Trees and Splay Trees 215

12.1 Red-black trees 215

12.1.1 Introduction to red-black trees 215

12.1.2 Definition 216

12.1.3 Representation of a red-black tree 219

12.1.4 Searching a red-black tree 220

12.1.5 Inserting into a red-black tree 220

12.1.6 Deleting from a red-black tree 228

12.1.7 Time complexity of search, insert and delete operations on a red-black tree 236

12.2 Splay trees 236

12.2.1 Introduction to splay trees 236

12.2.2 Splay rotations 237

12.2.3 Some remarks on amortized analysis of splay trees 242

12.3 Applications 244

12.4 Illustrative problems 245

References 261

Index 263

Summaries of other volumes 265

A Textbook of Data Structures and Algorithms,

    Product form

    £112.50

    Includes FREE delivery

    RRP £125.00 – you save £12.50 (10%)

    Order before 4pm tomorrow for delivery by Wed 1 Jul 2026.

    A Hardback by G. A. Vijayalakshmi Pai

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of A Textbook of Data Structures and Algorithms, by G. A. Vijayalakshmi Pai

      Publisher: ISTE Ltd and John Wiley & Sons Inc
      Publication Date: 24/01/2023
      ISBN13: 9781786308917, 978-1786308917
      ISBN10: 1786308916

      Description

      Book Synopsis

      Data structures and algorithms is a fundamental course in Computer Science, which enables learners across any discipline to develop the much-needed foundation of efficient programming, leading to better problem solving in their respective disciplines.

      A Textbook of Data Structures and Algorithms is a textbook that can be used as course material in classrooms, or as self-learning material. The book targets novice learners aspiring to acquire advanced knowledge of the topic. Therefore, the content of the book has been pragmatically structured across three volumes and kept comprehensive enough to help them in their progression from novice to expert.

      With this in mind, the book details concepts, techniques and applications pertaining to data structures and algorithms, independent of any programming language. It includes 181 illustrative problems and 276 review questions to reinforce a theoretical understanding and presents a suggestive list of 108 programming assignments to aid in the implementation of the methods covered.



      Table of Contents

      Preface ix

      Acknowledgments xv

      Chapter 8 Trees and Binary Trees 1

      8.1 Introduction 1

      8.2 Trees: definition and basic terminologies 1

      8.2.1 Definition of trees 1

      8.2.2 Basic terminologies of trees 2

      8.3 Representation of trees 3

      8.4 Binary trees: basic terminologies and types 6

      8.4.1 Basic terminologies 6

      8.4.2 Types of binary trees 7

      8.5 Representation of binary trees 8

      8.5.1 Array representation of binary trees 8

      8.5.2 Linked representation of binary trees 10

      8.6 Binary tree traversals 11

      8.6.1 Inorder traversal 12

      8.6.2 Postorder traversal 16

      8.6.3 Preorder traversal 19

      8.7 Threaded binary trees 22

      8.7.1 Linked representation of a threaded binary tree 24

      8.7.2 Growing threaded binary trees 24

      8.8 Applications 25

      8.8.1 Expression trees 26

      8.8.2 Traversals of an expression tree 27

      8.8.3 Conversion of infix expression to postfix expression 27

      8.8.4 Segment trees 31

      8.9 Illustrative problems 42

      Chapter 9 Graphs 61

      9.1 Introduction 61

      9.2 Definitions and basic terminologies 63

      9.3 Representations of graphs 75

      9.3.1 Sequential representation of graphs 76

      9.3.2 Linked representation of graphs 80

      9.4 Graph traversals 81

      9.4.1 Breadth first traversal 81

      9.4.2 Depth first traversal 83

      9.5 Applications 87

      9.5.1 Single source shortest path problem 87

      9.5.2 Minimum cost spanning trees 90

      9.6 Illustrative problems 97

      Chapter 10 Binary Search Trees and AVL Trees 115

      10.1 Introduction 115

      10.2 Binary search trees: definition and operations 115

      10.2.1 Definition 115

      10.2.2 Representation of a binary search tree 116

      10.2.3 Retrieval from a binary search tree 117

      10.2.4 Why are binary search tree retrievals more efficient than sequential list retrievals? 118

      10.2.5 Insertion into a binary search tree 120

      10.2.6 Deletion from a binary search tree 122

      10.2.7 Drawbacks of a binary search tree 125

      10.2.8 Counting binary search trees 128

      10.3 AVL trees: definition and operations 130

      10.3.1 Definition 131

      10.3.2 Retrieval from an AVL search tree 132

      10.3.3 Insertion into an AVL search tree 133

      10.3.4 Deletion from an AVL search tree 141

      10.3.5 R category rotations associated with the delete operation 146

      10.3.6 L category rotations associated with the delete operation 150

      10.4 Applications 151

      10.4.1 Representation of symbol tables in compiler design 151

      10.5 Illustrative problems 154

      Chapter 11 B Trees and Tries 175

      11.1 Introduction 175

      11.2 m-way search trees: definition and operations 176

      11.2.1 Definition 176

      11.2.2 Node structure and representation 176

      11.2.3 Searching an m-way search tree 178

      11.2.4 Inserting into an m-way search tree 178

      11.2.5 Deleting from an m-way search tree 179

      11.2.6 Drawbacks of m-way search trees 184

      11.3 B trees: definition and operations 184

      11.3.1 Definition 184

      11.3.2 Searching a B tree of order m 186

      11.3.3 Inserting into a B tree of order m 186

      11.3.4 Deletion from a B tree of order m 190

      11.3.5 Height of a B tree of order m 194

      11.4 Tries: definition and operations 195

      11.4.1 Definition and representation 195

      11.4.2 Searching a trie 197

      11.4.3 Insertion into a trie 197

      11.4.4 Deletion from a trie 198

      11.4.5 Some remarks on tries 200

      11.5 Applications 200

      11.5.1 File indexing 201

      11.5.2 Spell checker 203

      11.6 Illustrative problems 204

      Chapter 12 Red-Black Trees and Splay Trees 215

      12.1 Red-black trees 215

      12.1.1 Introduction to red-black trees 215

      12.1.2 Definition 216

      12.1.3 Representation of a red-black tree 219

      12.1.4 Searching a red-black tree 220

      12.1.5 Inserting into a red-black tree 220

      12.1.6 Deleting from a red-black tree 228

      12.1.7 Time complexity of search, insert and delete operations on a red-black tree 236

      12.2 Splay trees 236

      12.2.1 Introduction to splay trees 236

      12.2.2 Splay rotations 237

      12.2.3 Some remarks on amortized analysis of splay trees 242

      12.3 Applications 244

      12.4 Illustrative problems 245

      References 261

      Index 263

      Summaries of other volumes 265

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account