
Data Structures and Algorithms Implementation Through C
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- 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
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.