The Magical Guide to Algorithm Analysis and Design by Rosina S Khan - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Image 1

3333399

3333 3333333338888899993333

The Magical Guide to

,k

Algorithm Analysis and

Design

Rosina S Khan

Dedicated to:

1

Dedicated to You,

The Valued Reader

2

Copyright Information

Copyright © 2024 by Rosina S Khan. All rights reserved. No part(s) of this eBook may be used or reproduced in any form whatsoever, without written permission by the author.

https://rosinaskhan.weebly.com

3

Table of Contents

Preface ................................................................................. 8

C H A P T E R 1 .................................................................10

Introduction ........................................................................ 10

1. Introduction to Algorithms ........................................................... 10

1.1 Algorithms as Opposed to Programs ........................................... 10

1.2 Fundamental Questions About Algorithms .................................. 11

C H A P T E R 2 .................................................................12

Data Structures ................................................................... 12

2. Introduction ............................................................................... 12

2.1 Basic Terminology ..................................................................... 12

2.2 The Need for Data Structure ...................................................... 12

2.3 The Goals of Data Structure ...................................................... 13

2.4 Steps in Selecting a Data Structure ............................................ 13

2.5 Classification of Data Structures ................................................. 13

2.6 Primitive Data Structure ............................................................ 14

2.7 Non-Primitive Data Structures .................................................... 14

2.8 Operations on Data Structures ................................................... 19

2.9 Abstract Data Type ................................................................... 19

2.10 Advantage using Abstract Data Trees ....................................... 19

C H A P T E R 3 .................................................................21

Why Algorithms? ................................................................. 21

3. Defining an Algorithm ................................................................. 21

3.1 Features of an Algorithm ........................................................... 21

4

3.2 Advantages and Disadvantages of an Algorithm .......................... 22

3.3 Different Approaches to Designing an Algorithm ......................... 22

3.4 How to Write an Algorithm ........................................................ 22

3.5 Algorithmic Complexity .............................................................. 23

3.6 Space Complexity...................................................................... 24

3.7 Time Complexity ....................................................................... 24

3.8 Analysis of Algorithms ............................................................... 25

3.9 Mathematical Notations ............................................................. 26

C H A P T E R 4 .................................................................33

Searching ............................................................................ 33

4. Introduction to Searching Algorithm ............................................. 33

4.1 Specification of the Search Problem ........................................... 33

4.2 A Simple Algorithm on Linear Search .......................................... 34

4.3 A More Efficient algorithm: Binary Search ................................... 34

C H A P T E R 5 .................................................................37

Trees .................................................................................. 37

5. Introduction to Trees .................................................................. 37

5.1 Specification of Trees ................................................................ 37

5.2 Quadtrees ................................................................................ 38

5.3 Binary Trees ............................................................................. 40

C H A P T E R 6 .................................................................46

Binary Search Tree .............................................................. 46

6. Definition ................................................................................... 46

6.1 Building Binary Search Trees ..................................................... 46

6.2 Searching a Binary Search Tree ................................................. 47

6.3 Time Complexity of Insertion and Search ................................... 48

5

6.4 Deleting Nodes from a Binary Search Tree.................................. 48

6.5 Checking Whether a Binary Tree Is a Binary Search Tree ............ 51

6.6 Sorting Using Binary Search Trees ............................................. 51

6.7 Balancing Binary Search Trees ................................................... 52

6.8 B-trees ..................................................................................... 53

C H A P T E R 7 .................................................................55

Priority Queues and Heap Trees ........................................... 55

7. Trees Stored in Arrays................................................................. 55

7.1 Priority Queues and Binary Heap Trees ...................................... 56

7.2 Basic Operations on Binary Heap Trees .................................... 58

7.3 Inserting a New Heap Tree Node ............................................... 59

7.4 Deleting a Heap Tree Node ........................................................ 60

7.5 Building a New Heap Tree from Scratch ..................................... 61

7.6 Merging Binary Heap Trees ........................................................ 64

C H A P T E R 8 .................................................................66

Sorting ................................................................................ 66

8. Introduction to Sorting ................................................................ 66

8.1 Sorting Techniques ................................................................... 66

C H A P T E R 9 .................................................................88

Graphs ................................................................................ 88

9. Introduction to Graphs ................................................................ 88

9.1 Basic Concepts of Graphs .......................................................... 88

9.2 Types of Graphs ....................................................................... 90

9.3 Representing Graphs ................................................................. 92

9.4 Operations on Graphs ............................................................... 95

9.5 Graph Traversals ....................................................................... 97

6

C H A P T E R 10 ............................................................ 101

Graph Algorithms ............................................................... 101

10. Spanning Tree .........................................................................101

10.1 The Minimum Spanning Tree ..................................................102

10.2 Graph Algorithms ...................................................................103

C H A P T E R 11 ............................................................ 110

Algorithm Design Techniques ............................................. 110

11. Introduction ............................................................................110

11.1 What Are Algorithm Design Techniques? .................................110

11.2. Objectives ............................................................................111

11.3 Brute Force Method (BF) ........................................................111

11.4 Divide and Conquer Strategy (D&Q) ........................................111

11.5 Backtracking (BT) ..................................................................113

11.6 Dynamic programming (DP) ....................................................115

11.7 Greedy Methods (GM) ............................................................117

11.8 Comparisons Among the Algorithmic Techniques .....................119

11.9 Discussion of Algorithmic Complexities for Particular Problems

Using Algorithm Design Techniques ................................................122

About the Author ............................................................... 126

Valuable Free Resources .................................................... 127

7

Find Your Next Great Read

Describe what you're looking for in as much detail as you'd like.
Our AI reads your request and finds the best matching books for you.

Showing results for ""

Popular searches:

Romance Mystery & Thriller Self-Help Sci-Fi Business