Metadata
Title
Contents
Subject
Author
License
Created:
12 Feb 2022
Contents
About
1
...................................................................................................................................................................................
Chapter 1: Getting started with algorithms
2
....................................................................................................
Section 1.1: A sample algorithmic problem
2
.................................................................................................................
Section 1.2: Getting Started with Simple Fizz Buzz Algorithm in Swift
2
......................................................................
Chapter 2: Algorithm Complexity
5
.........................................................................................................................
Section 2.1: Big-Theta notation
5
....................................................................................................................................
Section 2.2: Comparison of the asymptotic notations
6
..............................................................................................
Section 2.3: Big-Omega Notation
6
................................................................................................................................
Chapter 3: Big-O Notation
8
........................................................................................................................................
Section 3.1: A Simple Loop
9
............................................................................................................................................
Section 3.2: A Nested Loop
9
...........................................................................................................................................
Section 3.3: O(log n) types of Algorithms
10
.................................................................................................................
Section 3.4: An O(log n) example
12
..............................................................................................................................
Chapter 4: Trees
14
.........................................................................................................................................................
Section 4.1: Typical anary tree representation
14
.........................................................................................................
Section 4.2: Introduction
14
.............................................................................................................................................
Section 4.3: To check if two Binary trees are same or not
15
.....................................................................................
Chapter 5: Binary Search Trees
18
..........................................................................................................................
Section 5.1: Binary Search Tree - Insertion (Python)
18
...............................................................................................
Section 5.2: Binary Search Tree - Deletion(C++)
20
.....................................................................................................
Section 5.3: Lowest common ancestor in a BST
21
......................................................................................................
Section 5.4: Binary Search Tree - Python
22
.................................................................................................................
Chapter 6: Check if a tree is BST or not
24
..........................................................................................................
Section 6.1: Algorithm to check if a given binary tree is BST
24
..................................................................................
Section 6.2: If a given input tree follows Binary search tree property or not
25
.......................................................
Chapter 7: Binary Tree traversals
26
.....................................................................................................................
Section 7.1: Level Order traversal - Implementation
26
...............................................................................................
Section 7.2: Pre-order, Inorder and Post Order traversal of a Binary Tree
27
..........................................................
Chapter 8: Lowest common ancestor of a Binary Tree
29
.........................................................................
Section 8.1: Finding lowest common ancestor
29
.........................................................................................................
Chapter 9: Graph
30
.........................................................................................................................................................
Section 9.1: Storing Graphs (Adjacency Matrix)
30
.......................................................................................................
Section 9.2: Introduction To Graph Theory
33
..............................................................................................................
Section 9.3: Storing Graphs (Adjacency List)
37
...........................................................................................................
Section 9.4: Topological Sort
39
.....................................................................................................................................
Section 9.5: Detecting a cycle in a directed graph using Depth First Traversal
40
..................................................
Section 9.6: Thorup's algorithm
41
.................................................................................................................................
Chapter 10: Graph Traversals
43
..............................................................................................................................
Section 10.1: Depth First Search traversal function
43
..................................................................................................
Chapter 11: Dijkstra’s Algorithm
44
..........................................................................................................................
Section 11.1: Dijkstra's Shortest Path Algorithm
44
........................................................................................................
Chapter 12: A* Pathfinding
49
.....................................................................................................................................
Section 12.1: Introduction to A*
49
...................................................................................................................................
Section 12.2: A* Pathfinding through a maze with no obstacles
49
.............................................................................
Section 12.3: Solving 8-puzzle problem using A* algorithm
56
....................................................................................
Contents
12 Feb 2022