Skip to content

Commit 6c95f9d

Browse files
committed
📝 docs(concepts): remove outdated roadmap and roadmap component
- delete roadmap documentation and related React component - streamline content by focusing on completed concept pages
1 parent c9ee6de commit 6c95f9d

6 files changed

Lines changed: 9 additions & 64 deletions

File tree

concepts/02-foundamental-problem-domains/01-sorting.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public void bubbleSort(int[] elements) {
124124
* **The Inefficiency:** The standard implementation is completely blind to the state of the data[cite: 158]. Even if the array becomes perfectly sorted on the very first pass, the outer loop stubbornly forces the inner loop to continue executing all subsequent passes, repeating redundant comparisons across already ordered sequences[cite: 158].
125125
* **Asymptotic Profile:** $O(n^2)$ across **all** cases (Best, Worst, and Average)[cite: 153, 154, 155]. It suffers from an extremely high volume of memory interchanges and comparisons[cite: 156, 157].
126126

127-
</TabItem>
127+
</TabItem>
128128
<TabItem value="bubble-sentinel" label="Optimized Bubble Sort">
129129

130130
### Core Mechanism
@@ -152,7 +152,7 @@ public void bubbleSortWithSentinel(int[] elements) {
152152
* **Best Case Improvement:** If given an array that is already completely sorted, the algorithm executes the inner loop exactly once, performs $n-1$ comparisons, detects zero changes, and terminates[cite: 160]. This drops the Best Case complexity down to a perfectly linear **$O(n)$**[cite: 238].
153153
* **Worst/Average Case:** If the array is inversely sorted, the sentinel provides zero benefit[cite: 239, 240]. The algorithm continues to scale quadratically at **$O(n^2)$**[cite: 239, 240].
154154

155-
</TabItem>
155+
</TabItem>
156156
<TabItem value="insertion" label="Direct Insertion Sort">
157157

158158
### Core Mechanism
@@ -180,7 +180,7 @@ public void insertionSort(int[] elements) {
180180
* **Operational Profile:** Best Case is **$O(n)$** when the input is pre-sorted[cite: 432]. Worst and Average cases scale quadratically at **$O(n^2)$**[cite: 433, 434].
181181
* **Mechanical Efficiency:** Although it shares the quadratic complexity class with Bubble Sort, Insertion Sort is substantially more efficient in absolute terms[cite: 436]. Instead of executing expensive three-step pointer swaps via `interchange()`, it utilizes a single variable holder (`pivot`) and performs fast, single-step memory shifts[cite: 436]. It performs significantly fewer raw read/write operations[cite: 436].
182182

183-
</TabItem>
183+
</TabItem>
184184
<TabItem value="selection" label="Direct Selection Sort">
185185

186186
### Core Mechanism
@@ -201,7 +201,7 @@ public void selectionSort(int[] elements) {
201201
* **The Predictability Asset:** Direct Selection is entirely deterministic and predictable[cite: 547]. Its comparison loop depends strictly on the size $n$ of the array, meaning it executes exactly $\frac{n(n-1)}{2}$ comparisons regardless of whether the initial input data was sorted, random, or inverted[cite: 547, 548]. Its complexity remains locked at **$O(n^2)$** across all execution states[cite: 543, 544, 545].
202202
* **The Exchange Advantage:** Because it isolates the absolute lowest element *before* executing a swap, it performs a maximum of exactly $n-1$ interchanges[cite: 546]. This exceptionally low volume of memory operations makes Selection Sort highly valuable on legacy embedded systems or flash hardware where writing bytes to memory is vastly more expensive or damaging than reading them[cite: 28, 546].
203203

204-
</TabItem>
204+
</TabItem>
205205
</Tabs>
206206

207207
---

concepts/03-algorithm-design-paradigms/02-divide-and-conquer.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ private int sumBySubtraction(int i, int[] v) {
319319
* **Complexity:** $O(n^{k+1}) = O(n^1) = O(n)$[cite: 382].
320320
* **Drawback:** It creates a deep, linear call stack that can trigger a `StackOverflowError` for large arrays.
321321

322-
</TabItem>
322+
</TabItem>
323323
<TabItem value="div-sum" label="Geometric Division (sum3)">
324324

325325
```java
@@ -339,7 +339,7 @@ private int sumByDivision(int left, int right, int[] v) {
339339
* **Complexity:** Since $a > b^k \implies 2 > 2^0$, it follows the leaf-dominated class: $O(n^{\log_2 2}) = O(n^1) = O(n)$[cite: 58].
340340
* **Advantage:** By dividing the array in half, the maximum call stack depth is strictly bounded to a safe **$O(\log n)$** layers.
341341

342-
</TabItem>
342+
</TabItem>
343343
</Tabs>
344344

345345
### Advanced Statistical Vector Reduction: Median vs. Quickselect

concepts/03-algorithm-design-paradigms/04-dynamic-programming.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public long fibonacciDV(int n) {
6767
* **Time Complexity:** Exponential, bounded between $O(2^{n/2})$ and $O(2^n)$.
6868
* **System Impact:** Evaluating $n = 50$ requires days of continuous processing because the runtime tree duplicates billions of identical state computations.
6969

70-
</TabItem>
70+
</TabItem>
7171
<TabItem value="pd-fib" label="✅ Dynamic Programming Approach">
7272

7373
```java
@@ -93,7 +93,7 @@ public long fibonacciPD(int n) {
9393
* **Space Complexity:** **$O(n)$** to maintain the structural state table (which can be optimized down to $O(1)$ space by tracking only the two preceding states in scalar variables).
9494
* **System Impact:** Computes $n = 50$ and far beyond instantaneously in microseconds.
9595

96-
</TabItem>
96+
</TabItem>
9797
</Tabs>
9898

9999
---

concepts/roadmap.mdx

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/components/Roadmap.jsx

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/plugins/docusaurus-plugin-site-data.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export default function pluginSiteData(context) {
137137

138138
// ── Concepts ───────────────────────────────────────────────────────────
139139
const conDir = path.join(siteDir, 'concepts');
140-
const SKIP = new Set(['index.mdx', 'glossary.mdx', 'roadmap.mdx']);
140+
const SKIP = new Set(['index.mdx', 'glossary.mdx']);
141141

142142
function scanConcepts(dir, category) {
143143
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {

0 commit comments

Comments
 (0)