Practical Approach to Data Structures and Algorithms

The aim of the book is to serve as a text for students learning programming in 'C' on Data Structures such as array, linked list, stack, queue, trees, graph and sorting and searching methodology. The book illustrates in detail the methods, algorithms, functions and implementation of each a...

Full description

Saved in:
Bibliographic Details
Main Author: Pahuja, Sanjay
Format: eBook
Language:English
Published: London New Academic Science 2009
Edition:1
Subjects:
ISBN:1781831769, 9781781831762, 9781906574048, 1906574049
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Table of Contents:
  • Title Page Preface Table of Contents 1. Introduction to Data Structures and Algorithms 2. Built-in Data Structure 3. Unordered and Ordered Arrays 4. Linear Data Structure - Linked List 5. Algorithms on Stack 6. Algorithms on Queue 7. Non-Linear Data Structure: Trees 8. Non-Linear Data Structure: Graphs 9. Sorting Algorithms and Their Analysis 10. Searching Techniques 11. File Structures Appendix: Conceptual Problem Solutions Index CD-Index Copyright
  • Cover -- Preface -- Contents -- Chapter 1: Introduction to Data Structures and Algorithms -- 1.1 Introduction to data representation -- 1.2 Review of data structures-Array, Pointer, Structure, Lists, Trees and Graphs -- 1.3 What is an Algorithm? -- 1.4 Designing Algorithms -- 1.5 Analyzing Algorithms -- 1.6 Mathematical Notation and Functions -- 1.7 Asymptotic Notation (O,θ,Ω) -- 1.8 Performance Measurement -- Chapter 2: Built-in Data Structure -- 2.1 Abstract Data Type -- 2.2 Arrays -- 2.3 Functions -- 2.4 Structures and Unions -- 2.5 Pointers -- 2.6 Memory Management in 'C' -- Chapter 3: Unordered and Ordered Arrays -- 3.1 One Dimensional Arrays -- 3.2 Two-Dimensional Arrays -- 3.3 Multidimensional Arrays -- 3.4 Ordered Arrays -- 3.5 Sparse Matrix -- Chapter 4: Linear Data Structure-Linked List -- 4.1 Linear Linked List and Operations -- 4.2 Circular Linked Linear Lists and Operations -- 4.3 Doubly Linear Linked Lists and Operations -- 4.4 Applications of Linked Lists -- 4.4.1 Polynomial Manipulation -- 4.4.2 Multiple-Precision Arithmetic -- 4.5 Set Operation on Linked List -- Chapter 5: Algorithms on Stack -- 5.1 Representation: Using Array and Linked List -- 5.2 Push and Pop Operations -- 5.3 Representation of expression: Infix, Postfix and Prefix -- 5.4 Evaluation of the Postfix expression -- 5.5 Transforming Infix Expression into Postfix Expression -- 5.6 Recursion -- Chapter 6: Algorithms on Queue -- 6.1 Representation: Using Array and Linked List -- 6.2 Insertion and Deletion Operations -- 6.3 Circular Queue -- 6.4 Double Ended Queues (DEQues) -- 6.5 Priority Queue -- 6.6 Multiple Queues -- Chapter 7: Non-Linear Data Structure: Trees -- 7.1 General Concept -- 7.2 Binary Tree -- 7.3 Sequential and Linked List Representation of Binary Tree -- 7.4 Binary Tree Traversal Algorithm: Recursive and Non-recursive
  • 7.5 Threaded Binary Tree Traversal -- 7.6 General Tree and Its Conversion -- 7.7 Binary Search Tree (BST) -- 7.8 Height Balanced Trees: AVL -- 7.9 B-Trees -- 7.10 Applications of Trees -- Chapter 8: Non-Linear Data Structure: Graphs -- 8.1 Properties of Graphs -- 8.2 Representation of Graphs -- 8.3 Traversal Algorithms-Depth First Search, Breadth First Search -- 8.4 Minimum Cost Spanning Tree -- 8.5 Biconnectivity -- 8.6 Strong Connectivity -- 8.7 Transitive Closure Algorithm -- 8.8 Shortest Path Algorithms -- 8.9 Applications of Graph -- Chapter 9: Sorting Algorithms and Their Analysis -- 9.1 Internal and External Sorting -- 9.2 Sorting Problem -- 9.2.1 Bubble Sort -- 9.2.2 Selection Sort -- 9.2.3 Insertion Sort -- 9.2.4 Shell Sort -- 9.2.5 Address Calculation Sort -- 9.2.6 Radix Sort -- 9.2.7 Merge Sort -- 9.2.8 Quick Sort -- 9.2.9 Heap Sort -- Chapter 10: Searching Techniques -- 10.1 Sequential Search -- 10.2 Binary Search -- 10.3 Hashing -- 10.3.1 Hash Functions -- 10.3.2 Collision Resolution Techniques -- 10.4 Dynamic Memory Allocation -- Chapter 11: File Structures -- 11.1 Definition and Concept -- 11.2 File Organization -- 11.3 Files in 'C' -- Appendix: Conceptual Problem Solutions -- Index -- CD-Index