/Codes

Learning Programming

Primary LanguageJupyter Notebook

Learning and Exploring Programming

C, C++, Python

Areas to explore:

1 Arrays

Binary Search, Find Maximum in Sliding Window, Search Rotated Array, Find the Smallest Common Number, Rotate Array, Find Low/High index, Move zeros to left, Find maximum single sell profit, Implement Quicksort, Merge Overlapping Intervals, Sum of Two Values

2 Linked List

Reverse a Singly Linked List, Remove Duplicates from a Linked List, Delete Node with a Given Key, Insertion Sort of a Linked List, Intersection Point of Two Lists, Nth from Last Node, Swap Nth Node with Head, Merge Two Sorted Linked Lists, Merge Sort, Reverse Even Nodes, Rotate a Linked List, Reverse k Elements, Add Two Integers, Copy Linked List with Arbitrary Pointer

3 Math & Stats

Find kth Permutation, Integer Division, Pythagorean Triplets, All Sum Combinations, Find Missing Number, Permute String, All Subsets, Is Number Valid?, Power of a Number, Calculate Square Root

4 String

Reverse Words in a Sentence, Remove Duplicates, Remove White Spaces, String Segmentation, XML to Tree, Find all Palindrome Substrings, Regular Expression

5 Trees

Check if Two Binary Trees are Identical, Write an In-Order Iterator for a Binary Tree, Iterative Inorder Traversal, Inorder Successor BST, Level Order Traversal of Binary Tree, Is Binary Search Tree?, Convert Binary Tree to Doubly Linked List, Print Tree Perimeter, Connect Same Level Siblings, Serialize/Deserialize Binary Tree, Connect All Siblings, Inorder Successor BST with Parent Pointers, Nth Highest in BST, Mirror Binary Tree Nodes, Delete Zero Sum Sub-Trees, N-ary Tree to Binary Tree

6 Stacks and Queues

Stack Using Queues, Queue Using Stacks, Expression Evaluation

7 Graphs

Clone a Directed Graph, Minimum Spanning Tree, Word Chaining

8 Back Tracking

Boggle, All Possible Braces, Solve N-Queens Problem, Find K-sum Subsets

9 Dynamic Programming

Fibonacci Numbers, Largest Sum Subarray, MaxSum Subsequence - Nonadjacent Elements, Game Scoring: Find the Number of Ways a Player can Score 'n' Runs, Coin Changing Problem, Levenshtein Distance

10 Miscellaneous

Sum of Three Values, Make Columns and Rows Zeros, Search in a Matrix, Implement LRU Cache, Host Endianness, Closest Meeting Point

Resources:

  1. CodeRust
  2. Data Structures & Algorithms in Python, Udacity
  3. Project Euler
  4. LeetCode
  5. Introduction To Algorithms Wiki
  6. CodeChef
  7. Programming Journey: Blog
  8. NPTEL-Data Structures And Algorithms(IIT Delhi)

Further development areas

  1. Design Patterns in C++: Factory Builder, Singleton
  2. Clean code principles
  3. ROS