Drills Catalog

Explain using the following format: What When Where How to apply Examples Diagrams

Criteria:

  • Interview questions asked by companies
  • In the Blind 75
  • Or in the 150 must do questions

Refer Accumulate Coding Construct

/ ""

  1. Calculate Average
  2. Calculate Median
  3. Prefix Sum (AKA: Cumulative Sum, Addition Accumulator, Running Sum of 1d Array)
  4. Suffix Sum
  5. Accumulate Maximum
  6. Accumulate Count
  7. Running Average
  8. Two Pointers
  9. Range Caching
  10. Line Sweep
  11. Precomputation
  12. Analyze Constraints
  13. Catalan Number
  14. Backtracking Sequence
  15. Visualizing Backtracking
  16. Backtracking with Dynamic Programming
  17. Convert 1D index to 2D
  18. Frequency Counting
  19. Range Sum
  20. Range Addition
  21. Range Product
  22. Recurrence Relation
  23. Optimal Substructure
  24. Accumulate Product
  25. Abstract Representation
  26. Problem Decomposition
  27. Maximizing Difference Between Two Ordered Elements
  28. Bit Masking
  29. Fold and Find
  30. Prefix Substring
  31. Pairwise Comparison
  32. Adjacent Element Comparison
  33. Rule of product (Used in Count Increasing Quadruplets)
  34. Translating Manual Process
  35. Cycle Detection
  36. Search Space Reduction
  37. Monotonic Decreasing Queue
  38. Monotonic Decreasing Stack
  39. Monotonic Stack
  40. Cyclic Sort
  41. Three Pointers
  42. Cyclic Replacement
  43. Prefix Product
  44. Suffix Product
  45. Inplace Modification
  46. Single or Double Linear Scan
  47. Counting Sort
  48. Solve an Equation Problem: Water Bottles
  49. Frequency Sort Problem: Sort Array by Increasing Frequency
  50. Cyclic List
  51. Circular Increment
  52. Pigeonhole Principle
  53. Modular increment
  54. Bucket Count
  55. Increasing Triplet Subsequence
  56. Array Transformation
  57. Subsequence
  58. Acyclic List
  59. Adjacency List
  60. Adjacency Matrix
  61. List Flattening
  62. List Unflattening
  63. Cartesian Coordinate System Scan Conversion
  64. Cartesian Product
  65. Circular Linked List
  66. Comparator Function
  67. CompareToAll Function
  68. CompareToMax Function
  69. Confidence Interval in Statistics
  70. Cube Counting
  71. Flattening Doubly Linked List
  72. Endianness
  73. Dynamic Array
  74. Gaussian Distribution
  75. Horner’s Rule
  76. Little Endian
  77. Map Reduce
  78. Monte Carlo Method
  79. Multi Key Sort Problem
  80. Non Parametric Statistics
  81. Normal Distribution
  82. Uniform Distribution
  83. Variance
  84. Visual Model of the Problem
  85. Visualization
  86. Extract Digits
  87. 0-1 Integer Programming
  88. Weighted Bipartite Matching
  89. Weight-Balanced Tree
  90. Weighted Matroid
  91. Weighted Median
  92. Weighted Set-Covering Problem
  93. Weighted-Union Heuristic
  94. Weighted Vertex Cover
  95. Weak Duality
  96. Walk of a Tree
  97. Work-Stealing Scheduling Algorithm
  98. White-Path Theorem
  99. White Vertex
  100. Weight Function for a Graph
  101. Weight Function in a Weighted Matroid
  102. Compositeness of a Number
  103. Convolution of Vector
  104. Cross Product of Vector
  105. Orthonormal Vector
  106. Verification of Spanning Trees
  107. Vertex Articulation Point
  108. Vertex Set
  109. Capacity of a Vertex
  110. Bezout’s Identity
  111. Computing a Minimum Spanning Tree in Undirected Graph
  112. Loop Invariant
  113. Short Circuiting
  114. Sentinel
  115. Recursion Tree
  116. Inversion of Array
  117. Monotonically Increasing Function
  118. Monotonically Decreasing Function
  119. Strictly Increasing
  120. Strictly Decreasing
  121. Floor of x
  122. Ceiling of x
  123. Modulo Operator
  124. Modular Arithmetic
  125. Problem Transformation
  126. Generating Function
  127. Function Generating Problem
  128. Heapsort
  129. Stack Depth
  130. Decision-Tree Model
  131. Stable Sort
  132. Bucket Sort
  133. Constraints
  134. 1-indexed Array
  135. Radix Sort
  136. Radix Tree
  137. Bit Vector
  138. Young Tableaus
  139. Random Sampling
  140. Multiset
  141. Reservoir Sampling
  142. Order Statistic Tree
  143. Median-of-3 Method
  144. Compare Exchange Operation
  145. Column-Major Order
  146. ith Order Statistic
  147. First Order Statistic
  148. nth Order Statistic
  149. Lower Median
  150. Upper Median
  151. Selection Problem
  152. Weighted Lower Median
  153. Unrolling the Recursion
  154. Lexicographically Less Than in Strings
  155. Taylor Series
  156. Taylor Expansion
  157. AVL Tree
  158. Treap
  159. Skip List
  160. Splay Tree
  161. Augment a Data Structure
  162. Prescriptive Design Method
  163. Interval Tree
  164. Point of Maximum Overlap
  165. Josephus Problem
  166. Partition Function
  167. Memoization
  168. Optimal Binary Search Tree
  169. Longest Simple Path in a Directed Acyclic Graph
  170. An activity-selection Problem
  171. Disjoint-Set Data Structure
  172. Union by Rank
  173. Path Compression
  174. Two Pass Method
  175. Euler Tour
  176. Reachability
  177. Single-Source Shortest Path
  178. Single-Destination Shortest Path
  179. Pop Count
  180. Most Significant Bit
  181. Least Significant Bit
  182. Last Set Bit
  183. Single-Pair Shortest-Path Problem
  184. All-Pairs Shortest-Paths Problem
  185. Path-Relaxation Property
  186. Integer Linear Program
  187. Linear Programming
  188. Vertex Cover Problem
  189. Weighted Vertex Cover Problem
  190. Objective Function
  191. Feasibility Problem
  192. Constraints at Five Levels
  193. Using Constraints to Solve Algorithmic Problems
  194. Constraints and Time Complexity
  195. Currency Arbitrage
  196. Bitonic Sequence
  197. Transitive Closure of a Directed Graph
  198. Working Backwards
  199. Matrix-Chain Multiplication
  200. Subset Range
  201. Recognizing Cues in Problem Statement to Categorize Problem Classes
  202. Problem Classification
  203. Code Blueprints
  204. Conceptual Model
  205. Conceptual to Computational Models
  206. Constraint Satisfaction Problems
  207. Forward and Backward Passes
  208. GCD
  209. Range Check
  210. Cue Direction
  211. Numerical Stability
  212. Numerically Unstable
  213. Linear Equation
  214. Simplex Algorithm
  215. Optimal Merge Pattern
  216. Wishful Thinking and Make it Easier
  217. Cartesian Tree
  218. B Tree
  219. KD Tree
  220. Cubesort
  221. Implement an ArrayList from scratch
  222. Implement a HashTable with simple Hashing functions
  223. Reverse Linked List
  224. Implement a Stack using Array
  225. Implement Queue using Array
  226. Implement a Graph using Adjacency List
  227. BFS
  228. Implement Trie
  229. Euclid’s Algorithm
  230. Incremental Method
  231. Prune and Search Method
  232. Visual Model of a Problem
  233. Visual Model of the Problem
  234. Using Models
  235. Decrease and Conquer
  236. Binomial Coefficient (Used in Unique Paths)
  237. Extremal Principle
  238. Hamiltonian Cycle
  239. Decision Problem
  240. Reduction Algorithm
  241. Hamiltonian Path
  242. Reducibility
  243. Set Partition Problem (Partition Equal Subset Sum)
  244. Longest Simple Cycle Problem
  245. Graph Coloring
  246. Approximation Algorithm
  247. Branch and Bound
  248. Bin Packing (Minimum Number of Work Sessions to Finish the Tasks)
  249. Maximum Matching
  250. Avoiding the Hammer Syndrome
  251. Pre Processing
  252. Abstract Model
  253. Abstraction at Five Levels
  254. Active Engagement in Problem Solving
  255. Active Learning Strategies
  256. Activity-Selection Problem
  257. Analysis Phase
  258. Associative Relationship
  259. Binary Search
  260. Binary Search
  261. Bottom Up DP vs Top Down DP
  262. Pattern Bias
  263. Bucket Sort Variant
  264. Combinatorial Optimization
  265. Unveiling the Power of Visualization in Problem-Solving
  266. Cross Comparison
  267. Binary Tree Inorder Traversal
  268. Binary Tree Postorder Traversal
  269. Binary Tree Preorder Traversal
  270. Check Duplicates
  271. Counting Inversion
  272. Rejection Sampling
  273. Logarithm
  274. Rolling Hash
  275. Transitive Closure
  276. External Sorting
  277. Backtracking with Dynamic Programming
  278. In Place Sorting
  279. Decision Tree and Recursion
  280. Bijection Relationship
  281. Induction Principle
  282. Inductive and Deductive Reasoning
  283. Invariant and Loop Invariant
  284. Eulerian Path
  285. Transitive Relationship
  286. Upper Median
  287. Simplification
  288. Linear Inequality
  289. Domain Reduction
  290. Forward Checking
  291. Deduce New Constraints
  292. Structure of Code
  293. Problem Space Reduction
  294. Problem Space
  295. Problem Reduction
  296. Problem Structure Recognition
  297. Solution Structure Recognition
  298. Data Transformation
  299. Polynomial Time
  300. Optimization Problems
  301. Optimal Binary Tree
  302. Modeling and Simulation
  303. Mental Model
  304. Mental Model in Programming
  305. Computer Science - The Mechanization of Abstraction
  306. Max-Priority Queue
  307. Modeling Relationships and Hierarchies
  308. Modeling Sequential Data
  309. Model Categorical Data
  310. Modeling Quantitative Relationships
  311. Modeling Randomness and Uncertainty
  312. Building a Mathematical Model
  313. A* algorithm
  314. Accumulate Absolute Differences
  315. Accumulate Power
  316. Accumulate Division
  317. Accumulate Concatenation
  318. Accumulate Differences
  319. Accumulate XOR
  320. Accumulate Minimum
  321. Accumulate Maximum and Minimum
  322. Bloom’s Taxonomy in Computer Science
  323. Traverse Forward and Backward
  324. Shift Left and Rotate Left in an Array
  325. Copying Elements from One Array to Another
  326. Rearrange an Array
  327. Inplace Reverse
  328. Reverse an Array using Auxiliary Array
  329. Difference of Element and Index
  330. Difference Check
  331. Find Missing Element
  332. Find Missing Elements
  333. Find Missing Elements - Unsorted
  334. Bitset Strategy to Find Missing Elements
  335. Keep Track of Last Duplicate in a Variable
  336. Check if the next element is the same in the array
  337. Ukkonen’s Algorithm
  338. Finding Duplicates in a Sorted Array
  339. Counting duplicates in sorted array
  340. Mark duplicate elements by replacing it with -1
  341. Skip processing elements marked with -1
  342. Finding Duplicates in an Unsorted Array Using Counter and Adjacent Element Comparison
  343. Find a Pair with Sum K by Traversing Sorted Array Forwards and Backwards
  344. Find a Pair with Sum K in an Unsorted Array Using Hashtable
  345. Find Min and Max in a Single Scan Using Comparison and Assignment
  346. Thinking and Reasoning
  347. Insight and Expertise in Problem Solving
  348. Inductive Reasoning
  349. Deductive Reasoning
  350. Fibonacci Sequence
  351. Factorial
  352. Modulo
  353. Exponent
  354. Recursive Sum
  355. Even Number
  356. Powers of Two
  357. Add Adjacent Elements
  358. Sum Digits
  359. Square Root
  360. Add a Sequence of Numbers
  361. Multiplication
  362. Division
  363. Divisible
  364. Palindromic Substrings
  365. Repeating Elements
  366. Unique Characters
  367. Identical Values
  368. Duplicate Elements
  369. Remove White Spaces
  370. Remove Duplicates
  371. Find rotation point
  372. Tree Size
  373. Mirror Tree
  374. String Segmentation
  375. Finite Arithmetic Progression
  376. Choice of Datastructure for N Queens Problem
  377. Causal Reasoning

Partitioning Schemes Quickselect

Refer the book and complete these: Principle of Intimate Engagement Externalize the Information

Refer the appendix of CLRS and create articles for the basic math.

Create content using this template for (domain is )

Run all autoresponder items through GPT

Create content for Ukkonen’s algorithm that follows the given structure: describe the concept of

Example code in Java, C++ and Python

Create content for that follows the given structure: describe the concept of

Example code in Java, C++ and Python

Create content for that follows the given structure: describe the concept of

Example code in Java, C++ and Python

Create content for that follows the given structure: describe the concept of

Example code in Java, C++ and Python

Create content for that follows the given structure: describe the concept of

Example code in Java, C++ and Python

Create content for that follows the given structure: describe the concept of

Example code in Java, C++ and Python

Create content for that follows the given structure: describe the concept of

Example code in Java, C++ and Python

Create content for that follows the given structure: describe the concept of

Example code in Java, C++ and Python

Create a table, showing the input and what happens in each iteration for each of the element in the array for

Can you illustrate by means of some visual to make the concept clear for ?

Split : How to Think Recursively

Write the merge sort algorithm Write the quicksort algorithm Print binary tree using DFS (in-order, preorder and post order — all three of them) and BFS. Memorize time & space complexities for common algorithms.

Resources

https://www.bigocheatsheet.com/ https://leetcode.com/discuss/general-discussion/494279/comprehensive-data-structure-and-algorithm-study-guide https://ocw.mit.edu/courses/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video_galleries/video-lectures/ https://www.people.vcu.edu/~rhammack/BookOfProof/ https://www.google.com/books/edition/Discrete_Mathematics_with_Applications/_341EAAAQBAJ?hl=en&gbpv=1&printsec=frontcover https://www.google.com/books/edition/How_to_Think_about_Analysis/n0tuBAAAQBAJ?hl=en&gbpv=1&printsec=frontcover https://www.google.com/books/edition/Linear_Algebra/BJNoAgAAQBAJ?hl=en&gbpv=1&printsec=frontcover https://www.youtube.com/@WilliamFiset-videos/videos

Identifying Problem Isomorphism

Tabular Representation

Tasks

  • Review the Google docs notes and extract core concepts.
  • Rubio Chanchez diagrams etc

Is there a term in computer science called ?