Learn Data Structure & Algorithms the Right Way as Industry needs
ARTH learners NIL
100+ hours
For every industry in the world the working culture has changed, and hence they need the ones who are specialist for respective programming language. Hence future need arises for understanding individual language wise internal and data structure concepts
First and Only Program which will train you, how to relate current technology real use cases with particular programming language. In other words optimal way of learning DSA
This program is designed keeping in mind that the learners can solve programming challenges, and also face interviews with top-notch companies like Google, Microsoft, Amazon, etc
In other words, the complete program will help you improve your problem- solving skills, and also develop best approach with analytical skills required to understand the real-time use cases of Data Structure & Algorithms rather than memorizing the same.
Note : Does not require any prior knowledge. No Basic knowledge of any programming language ( C++ / Java / Python / Scala / R ) required, we will take you through from basics
Analysis of Algorithm |
Measuring Running time of Algorithms |
Worst case, Best case and Average Case Analysis |
Abstract Data Types |
Big O analysis of Algorithms |
Asymptotic Notations |
Big O Notation |
Omega/Theta Notation |
Analysis of common loops |
Analysis of Recursion |
Space Complexity |
Time Complexity |
Euclid’s GCD Algorithm |
Applications of Recursion |
Operations on Arrays |
Binary Search Iterative and Recursive |
Stack |
Binary Tree in Python |
Preorder / inorder / postorder / level order Traversal |
Singly Linked Lists |
Circular Linked Lists |
Doubly Linked Lists |
Binary Trees |
Binary Search Trees |
Binary Search |
String Processing |
Analysis of Shell Sort |
Connectivity in Undirected / directed Graph |
brute-force greedy algorithms |
graph algorithms |
dynamic programming |
Naive string searching |
O(n logn) Sorting |
Binary Searching |
Greedy Algorithms |
Stacks + Queues |
Balanced VS Unbalanced BST |
Graphs |
Sorting Algorithms |
Stable VS Unstable Algorithms |
Searching + Traversal |
Dijkstra + Bellman-Ford Algorithms |
Memoization |
Big-O Notation |
Big-O Values for Array Operations |
Bubble/ Insertion/shell / Merge/ Quick / Radix / Stable Counting Sort |
JDK LinkedList Class |
Stacks Implementation (Linked List) |
Circular Queue Implementation |
Queues and the JDK |
Hashtables |
Linear Probing |
Chaining |
Storing Heaps as Arrays |
Heapsort |
Priority Queues |
Generalising Recursion |
Static and Global Variables in Recursion |
Tail / Head / Tree / Indirect / Nested / Factorial Recursion |
Tower of Hanoi Problem |
Fibonacci Series using Recursion - Memoization |
Static vs Dynamic Array |
Comparing Strings and Checking Palindrome |
Checking if 2 Strings are Anagram (distinct letters) |
Diagonal Matrix |
C++ class for Diagonal Matrix |
Lower Triangular Matrix in C++ |
Tri-Diagonal and Tri-Band Matrix |
Toeplitz Matrix |
Sparse Matrix Representation |
C++ class for Stack using Linked List |
Program for Infix to Postfix Conversion |
Queue ADT |
Double Ended Queue DEQUEUE |
Number of Binary Trees using N Nodes |
Internal Nodes vs External Nodes in Binary Tree |
Analysis of n-Ary Trees |
Generating BST from Preorder |
Generating AVL Tree |
Red-Black Tree vs 2-3-4 Tree Deletion |
Faster Method for creating Heap |
Linear / Quadratics Probing |
Representation of Undirecteds / directed Graph |
Kruskal's Minimum Cost Spanning Tree |
Prim's Minimum Cost Spanning Tree |
Disjoint Subsets |
Asymptotic Notations Big Oh , Omega , Theta |
linked lists versus arrays in python |
Binary search trees theory - in-order traversal |
AVL tree implementation in python |
Heap - operations complexities |
Dictionaries in Python |
Ternary search trees |
Adjacency matrix and adjacency list |
Memory management: BFS vs DFS |
Bellman-Ford algorithms |
Spanning trees |
Prims-Jarnik |
Hybrid algorithms |
Functional Queue in Scala |
BST in Scala |
Scala Tree |
Suite of functions exposed on collections such as aggregate, collect, fold, reduce, map, flatMap, scan,partition in Scala |
Warshall’s Algorithm in java |
Implementation of Depth First Search through Stack |
The Imperative Way and a Higher Level of Abstraction |
Higher Order Functions |
Copy-On-Write, Laziness, and Deferred Execution |
Recursion Aids Immutability |
Referential Transparency |
Persistent Data Structures and Tail Call Optimization |
Greedy Algorithms and Backtracking in Scala |
0-1 Knapsack problem |
Object Oriented Programming |
Inner Classes |
Binary Search using Recursion in Python |
Splay Trees - Zig-Zig Restructuring |
Graph Abstract Data Type (ADT) |
Graphs - Path and Cycle |
Graphs - Degree of a Vertex |
Graphs - Subgraphs and Connected Components |
Number theory and Mathematical |
Modulo Arithmetic Algorithms |
Arithmetic and Geometric Progressions |
LCM and HCF |
Bitwise Operators in C++ / Java / Python / Scala |
Stability in Sorting Algorithms |
Rabin Karp Algorithm |
Backtracking |
R Data Frame |
Generalized Linear Models in R |
ANOVA model in R |
Chi-Square Test in R |
Survival Analysis in R Programming |
Solving Anagrams |
Runtime Complexity |