AlgorithmsNotes for Professionals

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Author(s): Goal Kickers Team (GoalKickers.com)
Publisher: Goal Kickers Team (GoalKickers.com)
Year: 0

Language: English
Pages: 257

Content list......Page 2
About......Page 6
Section 1.2: Getting Started with Simple Fizz Buzz Algorithm in Swift......Page 7
Section 2.1: Big-Theta notation......Page 10
Section 2.3: Big-Omega Notation......Page 11
Chapter 3: Big-O Notation......Page 13
Section 3.2: A Nested Loop......Page 14
Section 3.3: O(log n) types of Algorithms......Page 15
Section 3.4: An O(log n) example......Page 17
Section 4.2: Introduction......Page 19
Section 4.3: To check if two Binary trees are same or not......Page 20
Section 5.1: Binary Search Tree - Insertion (Python)......Page 23
Section 5.2: Binary Search Tree - Deletion(C++)......Page 25
Section 5.3: Lowest common ancestor in a BST......Page 26
Section 5.4: Binary Search Tree - Python......Page 27
Section 6.1: Algorithm to check if a given binary tree is BST......Page 29
Section 6.2: If a given input tree follows Binary search tree property or not......Page 30
Section 7.1: Level Order traversal - Implementation......Page 31
Section 7.2: Pre-order, Inorder and Post Order traversal of a Binary Tree......Page 32
Section 8.1: Finding lowest common ancestor......Page 34
Section 9.1: Storing Graphs (Adjacency Matrix)......Page 35
Section 9.2: Introduction To Graph Theory......Page 38
Section 9.3: Storing Graphs (Adjacency List)......Page 42
Section 9.4: Topological Sort......Page 44
Section 9.5: Detecting a cycle in a directed graph using Depth First Traversal......Page 45
Section 9.6: Thorup's algorithm......Page 46
Section 10.1: Depth First Search traversal function......Page 48
Section 11.1: Dijkstra's Shortest Path Algorithm......Page 49
Section 12.2: A* Pathfinding through a maze with no obstacles......Page 54
Section 12.3: Solving 8-puzzle problem using A* algorithm......Page 61
Section 13.1: Simple Example of A* Pathfinding: A maze with no obstacles......Page 64
Section 14.2: Weighted Job Scheduling Algorithm......Page 71
Section 14.3: Longest Common Subsequence......Page 75
Section 14.4: Fibonacci Number......Page 76
Section 14.5: Longest Common Substring......Page 77
Section 15.1: Fibonacci Numbers......Page 78
Section 16.1: Optimal, disjoint-set based implementation......Page 81
Section 16.4: Simple, high level implementation......Page 82
Section 17.1: Human Coding......Page 84
Section 17.2: Activity Selection Problem......Page 87
Section 17.3: Change-making problem......Page 89
Section 18.1: Oine Caching......Page 91
Section 18.2: Ticket automat......Page 99
Section 18.3: Interval Scheduling......Page 102
Section 18.4: Minimizing Lateness......Page 106
Section 19.1: Introduction To Prim's Algorithm......Page 110
Section 20.1: Single Source Shortest Path Algorithm (Given there is a negative cycle in a graph)......Page 118
Section 20.2: Detecting Negative Cycle in a Graph......Page 121
Section 20.3: Why do we need to relax all the edges at most (V-1) times......Page 123
Section 21.1: Bresenham Line Drawing Algorithm......Page 126
Section 22.1: All Pair Shortest Path Algorithm......Page 129
Section 23.1: Catalan Number Algorithm Basic Information......Page 132
Section 24.3: merge-sort multithread......Page 134
Section 25.1: KMP-Example......Page 136
Section 26.1: Minimum Edits required to convert string 1 to string 2......Page 138
Chapter 27: Online algorithms......Page 141
Section 27.1: Paging (Online Caching)......Page 142
Section 28.1: Stability in Sorting......Page 148
Section 29.2: Implementation in C & C++......Page 149
Section 29.3: Implementation in C#......Page 150
Section 29.4: Python Implementation......Page 151
Section 29.6: Implementation in Javascript......Page 152
Section 30.1: Merge Sort Basics......Page 154
Section 30.3: Merge Sort Implementation in C & C#......Page 155
Section 30.4: Merge Sort Implementation in Java......Page 157
Section 30.5: Merge Sort Implementation in Python......Page 158
Section 30.6: Bottoms-up Java Implementation......Page 159
Section 31.1: Haskell Implementation......Page 161
Section 32.1: C# Implementation......Page 162
Section 33.1: Quicksort Basics......Page 163
Section 33.3: Lomuto partition java implementation......Page 165
Section 34.2: Psuedocode Implementation......Page 167
Section 35.2: Heap Sort Basic Information......Page 169
Section 36.1: Pseudocode Implementation......Page 171
Section 37.1: Odd-Even Sort Basic Information......Page 172
Section 38.2: Selection Sort Basic Information......Page 175
Section 38.3: Implementation of Selection sort in C#......Page 177
Section 39.1: Binary Search......Page 179
Section 39.2: Rabin Karp......Page 180
Section 39.3: Analysis of Linear search (Worst, Average and Best Cases)......Page 181
Section 39.5: Linear search......Page 183
Section 40.1: Introduction To Knuth-Morris-Pratt (KMP) Algorithm......Page 185
Section 40.2: Introduction to Rabin-Karp Algorithm......Page 188
Section 40.3: Python Implementation of KMP algorithm......Page 191
Section 40.4: KMP Algorithm in C......Page 192
Section 41.1: Finding the Shortest Path from Source to other Nodes......Page 195
Section 41.2: Finding Shortest Path from Source in a 2D graph......Page 201
Section 41.3: Connected Components Of Undirected Graph Using BFS......Page 202
Section 42.1: Introduction To Depth-First Search......Page 207
Section 43.1: Hash codes for common types in C#......Page 212
Section 43.2: Introduction to hash functions......Page 213
Section 44.2: Dynamic Programming Algorithm......Page 215
Section 45.2: Solution Implemented in C#......Page 217
Section 46.1: Linear Equation......Page 219
Section 46.2: Non-Linear Equation......Page 221
Section 47.1: Longest Common Subsequence Explanation......Page 225
Section 48.1: Longest Increasing Subsequence Basic Information......Page 230
Section 49.1: Sample input and output......Page 233
Section 49.2: Generic Code for Anagrams......Page 234
Section 50.1: Pascal triangle in C......Page 236
Section 51.2: Write the generic code......Page 237
Section 52.1: Matrix Exponentiation to Solve Example Problems......Page 238
Section 53.1: Algorithm Pseudo Code......Page 242
Section 54.1: Introduction To Dynamic Time Warping......Page 243
Section 55.1: Radix 2 FFT......Page 247
Section 55.2: Radix 2 Inverse FFT......Page 252
Section A.2: Functions......Page 254
Credits......Page 255
You may also like......Page 257