Algorithms and DataStructures in Python
( Competitive Programming )
Total Duration: 50 Hours [ 25 Sessions - 2 Hours Every Session ]
Section 1:
● Setting up the environment
● Jupyter NoteBook
● Know about Importance of Competitive Programming
● Key to get a JOB in Product Based Companies, Start preparing for it
● Data structures and abstract data types
Section 2:
● What is an array data structure
● Arrays related interview questions
● Linked list data structure and its implementation
● Stacks and queues
● Related interview questions
Section 3:
● Algorithmic Thinking, Peak Finding
● Models of Computation, Python Cost Model, Document Distance
● What are binary search trees
● Practical applications of binary search trees
Section 4:
● Problems with binary trees
● Binary Search Trees, BST Sort
● Balanced trees: AVL trees and red-black trees
● AVL Trees, AVL Sort
Section 5:
● Insertion Sort, Merge Sort
● Heaps and Heap Sort
● Counting Sort, Radix Sort, Lower Bounds for Sorting and Searching
Section 6:
● Associative arrays and dictionaries
● How to achieve O(1) constant running time with hashing
● Ternary search trees as associative arrays
● Hashing with Chaining
+91 96028 80219 | www.regexsoftware.com | [email protected]
● Simulation Algorithms
● Table Doubling, DNA Sequence Matching
Section 7:
● Numerics
a. Integer Arithmetic, Karatsuba Multiplication
b. Square Roots, Newton's Method
● Graphs:
a. Basic graph algorithms
b. Breadth-first and depth-first search
c. Topological Sorting
Section 8:
● Shortest path algorithms
● Dijkstra's algorithm, Speeding up Dijkstra
● Bellman-Ford algorithm
Section 9:
● What are spanning trees
● Kruskal algorithm
Section 10:
● Sorting algorithms
● Bubble sort, selection sort and insertion sort
● Quicksort and merge sort
● Non-comparison based sorting algorithms
● Counting sort and radix sort
Section 11:
● Memoization, Subproblems, Guessing, Bottom-up; Fibonacci, Shortest Paths
● Parent Pointers; Text Justification, Perfect-Information Blackjack
● String Subproblems, Pseudo Polynomial Time.
● Parenthesization, Edit Distance, Knapsack
Section 12:
● Computational Complexity
● Algorithms Research Topics
● String Subproblems, Pseudo Polynomial Time.
● Parenthesization, Edit Distance, Knapsack
+91 96028 80219 | www.regexsoftware.com | [email protected]
After Data Structures & Algorithms, You will learn about some Latest libraries which we actually
use in the market.
● Numpy - for mathematical calculation
● Pandas
● Matplotlib / Bokeh - to make graph
● Webbrowser - to play with Web Browser
● Selenium - Automation
● Scrapy / BeautifulSoup
● Web Scraping
+91 96028 80219 | www.regexsoftware.com | [email protected]