/ProblemSolving

preparing for coding test and interview

Primary LanguageC++

Table of Contents

Languages

  • C/C++
  • Java
  • Python

Data Structures

  • Arrays
  • String
  • Linked Lists
    • Singlely
    • Doubly
    • Circular
  • Stack
  • Queue
    • Circular Queue
    • Deque
    • Priority Queue
  • Hashing
    • HashTable
    • Collision Handling
  • Tree
    • Binary Search
    • Heap
    • BST
    • Balanced Search Tree
      • AVL
      • Red Black
    • Traversals: Pre, In, Post, Level, BFS, DFS
  • Graphs
    • directed, undirected, adjacency matrix, list
    • traversals: BFS, DFS
    • Cycle
    • Topological Sorting
    • MST
    • BackTracking
    • Shortest Paths
      • Dijkstra's Shortest Path
    • Connectivity
    • Maximum Flow
  • Bitwise

Advanced Data Structures

  • Trie
  • Segment Tree
  • K Dimensional Tree
  • Disjoint Set
  • n-ary Tree

Sorting

  • selection
  • insertion
  • heapsort
  • mergesort
  • quicksort
  • counting sort
  • Radixsort

Greedy

  • Knapsack Problem
  • Dijkstra's Shortest Path
  • Kruskal's MST
  • Prim's MST

Recursion

  • TBD

Divide and Conquer

  • Binary Search
  • Merge Sort
  • Quick Sort

Backtracking

  • N Queen Problem

Dynamic Programming

  • Travelling Salesman Problem
  • 0-1 Knapsack
  • Floy Warshall
  • Bellman-Ford

Mathematical

  • GCD, LCM

TOOD

  • Geometric
  • Randomized
  • Np, Np-Complete
  • string serarching & manipulations

Object Oriented Programming

  • UML
  • SOLID

Design Patterns

  • Strategy
  • Singleton
  • decorator
  • factory
  • facade
  • observer
  • proxy

Operating System

Caches

  • LRU cache
  • CPU cache

Processes and Threads

  • Differences
  • Locks, Mutexes, Semaphores
  • Deadlock
  • monitors
  • paging, segmentation and virtual memory
  • Interrupts
  • Context Switching
  • concurrency in Python(threads, mutex)

Scheduling

  • TBD

Testing

  • unit test
  • mock
  • integration test
  • dependency injection
  • TDD
  • in python

Network

  • UDP and TCP
  • TCP/IP and OSI
  • Packet Transmission across the internet
  • HTTP, SSL and HTTPS
  • HTTP 2.0
  • Sockets

System Design, Scalability, Data Handling

  • TBD

TODO

  • Papers