Data Structures and Algorithms Implementation Through C
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews
Language
English
ISBN
9789386551948
Cover Page
Title Page
Copyright Page
Dedication
Acknowledgement
Preface
Table of Contents
Chapter 1: Algorithms and Flowcharts
1.1 Introduction of Algorithm
1.2 What is an algorithm?
1.3 Flowcharts
1.3.1 Reason to Use Flowcharts
1.4 Advantages
1.5 Symbols Used for Making Flowcharts
1.6 Pseudocode
1.7 Difference between Algorithm and Pseudocode
Chapter 2: Algorithm Analysis
2.1 Introduction
2.2 Why to Study an Algorithm?
2.3 Definition of an Algorithm
2.4 Steps to Construct an Algorithm
2.5 Analysis of an Algorithm
2.5.1 Apriori Analysis
2.5.2 Aposteriori Analysis
2.6 Complexity of an Algorithm
2.6.1 Time Complexity
2.6.2 Space Complexity
2.7 Asymptotic Notation
2.7.1 Properties of Asymptotic Notation
Chapter 3: Introduction to Data Structure
3.1 Introduction
3.2 Definition
3.3 Classification of Data Structure
3.3.1 Primitive Data Structure
3.3.2 Non Primitive Data Structure
3.4 Array
3.4.1 Declaration and Initialization of an Array
3.5 Stacks
3.6 Queue
3.7 Linked List
3.8 Tree
3.9 Graph
3.10 Memory Allocation in C
3.10.1 Static Allocation
3.10.2 Dynamic Allocation
3.10.2.1 The malloc() function
3.10.2.2 The calloc () Function
3.10.2.3 The free() Function
3.10.2.4 The realloc() Function
3.11 Functions of Data Structure
Chapter 4: Function and Recursion
4.1 Introduction
4.2 Definition
4.3 Types of Functions
4.3.1 Predefined Function
4.3.2 User Defined Function
4.4 Function Prototype
4.5 Introduction of Recursion
4.5.1 Definition
4.5.2 Types of Recursion
4.5.2.1 Direct Recursion
4.5.2.2 Indirect Recursion
4.6 Fundamental Need of Recursion
4.7 Iteration and Recursion
4.8 Program for Function and Recursion
Chapter 5: Arrays and Pointers
5.1 Introduction to Arrays
5.2 Definition
5.3 One Dimensional Array
5.3.1 Initialization of One Dimensional Array
5.3.2 Accessing an Element from One Directional Array
5.3.3 Array Implementation in Memory
5.4 Process of Deleting an Element from an Array
5.5 Merging of Two Arrays
5.6 Multi Dimensional Arrays
5.6.1 Initialization of two-dimensional array
5.6.2 Accessing of Element in Two Dimensional Array
5.7 Pointer
5.8 Pointer to Structure
Chapter 6: Strings
6.1 Introduction to Strings
6.2 Definition
6.3 Library Functions of Strings
Chapter 7: Stack
7.1 Introduction to Stack
7.2 Definition
7.3 Stack Implementation
7.4 Operations of Stack
7.5 Applications of Stack
7.6 Programs for Stacks
7.7 Multiple Stacks
Chapter 8: Queues
8.1 Introduction to Queue
8.2 Definition
8.3 Queue Implementation
8.4 Circular Queue
8.4.1 Some Important Points about Circular Queue
8.4.2 Insertion in Circular Queue
8.4.3 Deletion in Circular Queue
8.5 De-queue
8.6 Priority Queue
Chapter 9: Linked Lists
9.1 Introduction
9.2 Terminology
9.3 Representation of Linked List
9.4 Operations of Linked List
9.5 Types of Linked List
9.6 Singly Linked List
9.7 Program for Implementing Linked List
9.8 Circular Linked List
9.9 Doubly Linked List
9.10 Program for Implementing Doubly Linked List
9.11 Circular Doubly Linked List
9.12 Addition of Two Polynomials
9.13 Program for Implementing Circular Doubly Linked List
Chapter 10: Trees
10.1 Introduction to Tree
10.2 Tree Terminology
10.3 Binary Tree
10.3.1 Binary Tree Representation using Array
10.3.2 Binary Tree Representation using Linked List
10.4 Dynamic Implementation of Binary Search Tree
10.5 Strictly Binary Tree
10.6 Complete Binary Tree
10.7 Tree Traversal
10.7.1 In-order Traversal
10.7.2 Pre-order Traversal
10.7.3 Post-order Traversal
10.8 Recursive Code for Preorder, Inorder and Postorder Traversal
10.9 Tree Construction
10.10 Binary Search Tree
10.11 Expression Tree
10.12 Threaded Binary Tree
10.12.1 Types of Threaded Binary Trees
10.13 AVL Tree
10.14 Balance Factor
10.15 Insertion in AVL tree
10.16 M-way Tree
10.17 B- Tree
10.18 B+ Tree
Chapter 11: Graph
11.1 Introduction to Graphs
11.2 Basic Terminology of a Graph
11.3 Representation of Graph
11.4 Graph Traversals
11.4.1 DFS (Depth First Search)
11.4.2 BFS (Breadth First Search)
11.5 Spanning Tree
11.5.1 General Properties of Spanning Tree
11.5.2 Application of Spanning Tree
11.6 Minimum Spanning Tree (MST)
11.6.1 Minimum Spanning-Tree Algorithm
11.6.1.1 Kruskal's Algorithm
11.6.1.2 Prim's Algorithm
11.7 Shortest Path
11.7.1 Dijkstra's Algorithm
11.7.2 Bellman Ford's Algorithm
Chapter 12: Searching
12.1 Introduction to Searching
12.2 Types of Searching
Chapter 13: Sorting
13.1 Introduction
13.2 Types of sorting
13.3 Sorting Techniques
13.3.1 Bubble Sort
13.3.2 Selection Sort
13.3.3 Insertion Sort
13.3.4 Quick Sort
13.3.5 Merge Sort
13.3.6 Heap Sort
Chapter 14: Hashing
14.1 Introduction to Hashing
14.2 Direct Address Table
14.3 Hash Function
14.4 Collision
14.4.1 Types of Hash Functions
14.5 Collision Resolution Technique (CRT)
14.6 Perfect Hashing
Loading...