- Notifications
You must be signed in to change notification settings - Fork1
Algorithms, Data Structures, Language Concepts, System Design
License
NotificationsYou must be signed in to change notification settings
rp-code9/programming
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
- System Design Questions
- Java OOP Concepts
- C++ Concepts
- Operating System Concepts
- Reading-References
- Algorithms and Data Structures
Large scale system design and object oriented design questions and topics
- Keywords To Remember
- Infrastructure Design Questions
- System Design Questions
- Object Oriented Design Questions
- External References
Short sample programs to demonstrate the inbuilt object oriented concepts in Java language.
- Generics
- Equality
- String Representation of Object
- Hash code of Object
- Dynamic array
- Iterable
- Comparable
- assert
- Comparator
- Immutability
Short sample program to demonstrate C++ language basics
- Smart pointers
- move semantics
- move constructor
- move assignment
- enums & enum class
- Random numbers
- Synchronization
- File IO
- Print all lines which contain a given patternLink
- Memory Management
- Hash table implementation
- Implement elementary hash table in C++Link
- Hash table implementation in C++ using STLInspiration Link
- Prefix Hash tree
- Prefix Hash Tree: An Indexing Data Structure over Distributed Hash Tableshttps://www.eecs.berkeley.edu/~sylvia/papers/pht.pdf -
- Distributed Hash table
- Suffix tree
- Compressed Trie, used in pattern searching, hard algohttps://en.wikipedia.org/wiki/Suffix_tree
- Hash Functions
- Google CodeJam
- Algorithms
- LeetCode
- Google Code Jam 2018
- Google Code Jam 2020
Princeton AlgorithmsPart 1 andPart2
- A general approach to backtracking questions (Subsets, Permutations, Combination Sum)Link
- A summary: how to use bit manipulation to solve problems easily and efficientlyLink
- Rearrange odd even elements in a linked list.C++
- Linked ListJava
- Alternating SplitJava
- Sort linked list
- Clone list with random pointersC++
- Linked List implementation
- Push, append, delete, pop, clone listC
- Binary tree
- Recursive Preorder, inorder, postorder, height, diameterC++
- Construct balanced binary treeC++
- Find longest increasing path in binary treeC++
- Find longest increasing path in n-ary treeC++
- Find next right node in binary treeC++
- Count all possible distinct sums paths top-down in a binary tree.C++
- Quick FindJava
- Quick UnionJava
- Weighted Quick UnionJava
- Weighted Quick Union with Path compressionJava
- Percolation ProblemJava
- Parse decimal, hexdecimal, octal from a file and output to another.C++
- Check if two strings are isomorphic.C++
- Find first unique character in a string.C++
- String sorting
- Using trie data structureJava
- Auto Completion search
- Using trieJava
- English word meaning dictionary
- Using trieJava
- Longest Common Prefix
- Using trieJava
- Pattern Searching
- Using trie of all suffixJava
- Word Break problem
- Using trie, recursive algorithmJava
- KMP Pattern searching
- Search pattern in textJava
- Remove characters from a first string which are present in other stringC C++<<<<<<< HEAD=======
- Interleaved string
Add disjoint set and interleaved string
- Continuous onesJava
- Infections over a distanceJava
- 8 PuzzleJava
- Maximum sum rectangle in a 2D matrixC++
- Insertion sort (generic)JavaC++
- Selection sort (generic)Java
- Shell sort (generic)Java
- Merge sort (generic)JavaC++
- Bottom Up Merge (generic)Java
- Quicksort (generic)JavaC++
- 3-way Quicksort (generic)Java
- Dutch national flag problemC++
- Merge intervalsC++
- Meeting roomsC++
- Find peak elementC++
- Search in rotated arrayC++
- Search in a 2D matrixC++
- Find start and end of a range in a sorted arrayC++
- Find kth largest element
- Binary Search
- Word Break problem
- Recursive algorithm, using trieJava
- Longest Common Subsequence
- Shortest Common Supersequence
- Longest Common Substring
- Recursive, bottom-up, space optimized, print substring, without repeating charactersJava
- Longest Common Substring in array
- Stem in an array of stringsJava
- Subsequence variants: Repeated Subsequence
- top-down, naive recursion, print sequenceJava
- Levenshtein distance / Edit DistanceJava
- Largest sqaure submatrix of 1sJava
- Min cost path from top right to bottom down in matrixJava
- Maximum value of expressionJava
- Subset sum partitionJava
- Three PartitionJava
- Rod CuttingJava
- Rod Cutting ProductJava
- Coin Change - Minimum number of coins
- Coin Change WaysJava
- Binary String with no consecutive 1sJava
- Word BreakJava
- Word Break using trieJava
- Array Adjustment costJava
- No of ways for dice throwsJava
- Wildcard MatchingJava
- Tripping Rain WaterJava
- Jump GameC++
- Length of Longest Increasing SubsequenceC++
- kth element, Quick SelectJava
- Shuffling : usingFisher–Yates shuffle algorithm Java
- GaussElimination : Gauss elimination or Gauss Jordan method to solve system of linear equationsJava
- Point2D : Data structure to represent point in 2D spaceJava
- Point3D : Data structure to represent point in 3D spaceJava
- Generate Nth row of Pascal triangle
- Happy numberWikiC++
- Excel Sheet Column NumberC++
- Number of zeros in facorialC++
- Implement power functionC++
- Implement square root functionC++
- Print all possible decoding of given digit sequence.C++
- Print all possible decoding of given digit sequence.C++
- Find the celebrity in room.C++
- Maximum possible length by cutting N wood pieces into K pieces.C++
- Merge N trasactions preserve order.C++
- Stock Buy Sell to Maximize Profit.C++
- Find majority element.Problem
- Brute ForceC++
- using hashmapC++
- Boyer-Moore voting algorithmwiki articleC++
- CPU task schedulingC++
- Activity/Task : representation of an activity or a taskJava
- Randomized setProblemC++
- Disjoint set
- BasicsJava
- QuestionsLinks 1
- Bit Twiddling Hackscollection
- Closest pair of points : Divide and conquer algorithmJava
- Collinear pointsJava
- Group points which are at distance less than k : brute force algorithmJava
- Group points which are at distance less than k : divide and conquer algorithmJava
- Random String : generate random stringJava
- Random 2D Matrix : generate random 2D boolean, binary or integer matrixJava
- Top K frequent elements Problem
- Reverse String Problem
- Reverse Integer Problem
- First unique character in a string Problem
- Valid anagram Problem
- Valid palindrome Problem
- Longest Common Prefix Problem
- Delete Node (without previous) Problem
- Simple DeleteC++
- Remove Nth from end Problem
- Simple DeleteC++
- Reverse a linked list Problem
- Merge two sorted Problem
- SimpleC++
- Palindrome List Problem
- Double ReverseC++
- Cycle in Linked List Problem
- Slow and fast pointerC++
- Sum two numbers Problem
- Odd Even Linked List Problem
- Intersection of Two Linked Lists Problem
- Max depth Problem
- Max DepthC++
- Validate Binary search Tree Problem
- Validate BSTC++
- Symmeric Binary Tree Problem
- Level Order Of Tree Problem
- Using queueC++
- Sorted Array to Binary Search Tree Problem
- RecursiveC++
- Inorder traversal Problem
- Zigzag/spiral level order traversal Problem
- Construct Binary Tree from Preorder and Inorder Traversal Problem
- Populating Next Right Pointers in Each NodeProblem
- Kth Smallest Element in a BST Problem
- Kth Largest Element in a BST | ?? | ? |
- Number of Islands Problem
About
Algorithms, Data Structures, Language Concepts, System Design
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.