From 77411369f52fc5744d38f98c7e3548895ab4e290 Mon Sep 17 00:00:00 2001 From: RedrockJS Date: Thu, 30 Oct 2025 10:39:05 +0300 Subject: [PATCH] refactor: move big from n to arch --- ...arch.md => 01-classic-layer-based-arch.md} | 2 +- ...3-atomic-design.md => 02-atomic-design.md} | 2 +- ...sign.md => 03-ddd-domain-driven-design.md} | 2 +- ...sign.md => 04-fsd-feature-slice-design.md} | 2 +- ...micro-frontend.md => 05-micro-frontend.md} | 2 +- docs/architecture/{07-tdd.md => 06-tdd.md} | 2 +- ...dev-principles.md => 07-dev-principles.md} | 2 +- docs/architecture/{09-oop.md => 08-oop.md} | 2 +- .../architecture/{10-solid.md => 09-solid.md} | 2 +- docs/architecture/10-algorithm-complexity.md | 27 +++++++++++++++++++ docs/tasks/06-algorithms/_category_.json | 7 ----- docs/tasks/06-algorithms/index.md | 3 --- docs/tasks/tasks.md | 27 ------------------- 13 files changed, 36 insertions(+), 46 deletions(-) rename docs/architecture/{02-classic-layer-based-arch.md => 01-classic-layer-based-arch.md} (99%) rename docs/architecture/{03-atomic-design.md => 02-atomic-design.md} (99%) rename docs/architecture/{04-ddd-domain-driven-design.md => 03-ddd-domain-driven-design.md} (99%) rename docs/architecture/{05-fsd-feature-slice-design.md => 04-fsd-feature-slice-design.md} (99%) rename docs/architecture/{06-micro-frontend.md => 05-micro-frontend.md} (99%) rename docs/architecture/{07-tdd.md => 06-tdd.md} (99%) rename docs/architecture/{08-dev-principles.md => 07-dev-principles.md} (99%) rename docs/architecture/{09-oop.md => 08-oop.md} (99%) rename docs/architecture/{10-solid.md => 09-solid.md} (99%) create mode 100644 docs/architecture/10-algorithm-complexity.md delete mode 100644 docs/tasks/06-algorithms/_category_.json delete mode 100644 docs/tasks/06-algorithms/index.md diff --git a/docs/architecture/02-classic-layer-based-arch.md b/docs/architecture/01-classic-layer-based-arch.md similarity index 99% rename from docs/architecture/02-classic-layer-based-arch.md rename to docs/architecture/01-classic-layer-based-arch.md index 9513fbc..e21cbc8 100644 --- a/docs/architecture/02-classic-layer-based-arch.md +++ b/docs/architecture/01-classic-layer-based-arch.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 1 --- # Классическая архитектура diff --git a/docs/architecture/03-atomic-design.md b/docs/architecture/02-atomic-design.md similarity index 99% rename from docs/architecture/03-atomic-design.md rename to docs/architecture/02-atomic-design.md index fc05e1a..36c24f1 100644 --- a/docs/architecture/03-atomic-design.md +++ b/docs/architecture/02-atomic-design.md @@ -1,5 +1,5 @@ --- -sidebar_position: 3 +sidebar_position: 2 --- # Atomic design diff --git a/docs/architecture/04-ddd-domain-driven-design.md b/docs/architecture/03-ddd-domain-driven-design.md similarity index 99% rename from docs/architecture/04-ddd-domain-driven-design.md rename to docs/architecture/03-ddd-domain-driven-design.md index 6910e19..35d4134 100644 --- a/docs/architecture/04-ddd-domain-driven-design.md +++ b/docs/architecture/03-ddd-domain-driven-design.md @@ -1,5 +1,5 @@ --- -sidebar_position: 4 +sidebar_position: 3 --- # Доменная архитектура diff --git a/docs/architecture/05-fsd-feature-slice-design.md b/docs/architecture/04-fsd-feature-slice-design.md similarity index 99% rename from docs/architecture/05-fsd-feature-slice-design.md rename to docs/architecture/04-fsd-feature-slice-design.md index 001e5aa..cab7e92 100644 --- a/docs/architecture/05-fsd-feature-slice-design.md +++ b/docs/architecture/04-fsd-feature-slice-design.md @@ -1,5 +1,5 @@ --- -sidebar_position: 5 +sidebar_position: 4 --- # Feature slice design diff --git a/docs/architecture/06-micro-frontend.md b/docs/architecture/05-micro-frontend.md similarity index 99% rename from docs/architecture/06-micro-frontend.md rename to docs/architecture/05-micro-frontend.md index c6394e2..ef2c8f9 100644 --- a/docs/architecture/06-micro-frontend.md +++ b/docs/architecture/05-micro-frontend.md @@ -1,5 +1,5 @@ --- -sidebar_position: 6 +sidebar_position: 5 --- # Micro frontend diff --git a/docs/architecture/07-tdd.md b/docs/architecture/06-tdd.md similarity index 99% rename from docs/architecture/07-tdd.md rename to docs/architecture/06-tdd.md index 0cb7c07..15e8609 100644 --- a/docs/architecture/07-tdd.md +++ b/docs/architecture/06-tdd.md @@ -1,5 +1,5 @@ --- -sidebar_position: 7 +sidebar_position: 6 --- # Test driven development diff --git a/docs/architecture/08-dev-principles.md b/docs/architecture/07-dev-principles.md similarity index 99% rename from docs/architecture/08-dev-principles.md rename to docs/architecture/07-dev-principles.md index 004f7ba..fcbc870 100644 --- a/docs/architecture/08-dev-principles.md +++ b/docs/architecture/07-dev-principles.md @@ -1,5 +1,5 @@ --- -sidebar_position: 8 +sidebar_position: 7 --- # Принципы разработки diff --git a/docs/architecture/09-oop.md b/docs/architecture/08-oop.md similarity index 99% rename from docs/architecture/09-oop.md rename to docs/architecture/08-oop.md index ce8abd9..a6d770e 100644 --- a/docs/architecture/09-oop.md +++ b/docs/architecture/08-oop.md @@ -1,5 +1,5 @@ --- -sidebar_position: 9 +sidebar_position: 8 --- # ООП diff --git a/docs/architecture/10-solid.md b/docs/architecture/09-solid.md similarity index 99% rename from docs/architecture/10-solid.md rename to docs/architecture/09-solid.md index 36405b0..c9c8ee8 100644 --- a/docs/architecture/10-solid.md +++ b/docs/architecture/09-solid.md @@ -1,5 +1,5 @@ --- -sidebar_position: 10 +sidebar_position: 9 --- # SOLID diff --git a/docs/architecture/10-algorithm-complexity.md b/docs/architecture/10-algorithm-complexity.md new file mode 100644 index 0000000..ffcbd02 --- /dev/null +++ b/docs/architecture/10-algorithm-complexity.md @@ -0,0 +1,27 @@ +--- +sidebar_position: 10 +--- + +# Метод оценки сложности алгоритма O(n) + +Метод оценки сложности алгоритма **O(n)** используется для анализа времени выполнения алгоритма в зависимости от размера входных данных. Обозначение **O(n)** означает, что время выполнения алгоритма растёт линейно с увеличением размера входных данных. + +## Пример на JavaScript: +Рассмотрим простой пример алгоритма, который проходит по всем элементам массива и выполняет какую-то операцию (например, вывод в консоль): +```js +function printArrayElements(arr) { + for (let i = 0; i < arr.length; i++) { + console.log(arr[i]); + } +} +const array = [1, 2, 3, 4, 5]; +printArrayElements(array); +``` + +## Объяснение: +1. **Цикл `for`:** В этом примере цикл `for` проходит по каждому элементу массива `arr`. Количество итераций цикла равно длине массива `n`. +2. **Линейная зависимость:** Если массив увеличивается в размере (например, в 2 раза), то количество итераций цикла также увеличивается в 2 раза. Это означает, что время выполнения алгоритма растёт линейно с увеличением размера входных данных. +3. **Сложность O(n):** Таким образом, сложность этого алгоритма оценивается как **O(n)**, где `n` — это количество элементов в массиве. + +## Заключение: +Метод оценки сложности **O(n)** помогает понять, как будет вести себя алгоритм при увеличении объёма данных. В данном случае, если массив станет очень большим, время выполнения алгоритма будет пропорционально увеличиваться. \ No newline at end of file diff --git a/docs/tasks/06-algorithms/_category_.json b/docs/tasks/06-algorithms/_category_.json deleted file mode 100644 index a04255d..0000000 --- a/docs/tasks/06-algorithms/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Алгоритмы", - "position": 6, - "link": { - "type": "generated-index" - } -} diff --git a/docs/tasks/06-algorithms/index.md b/docs/tasks/06-algorithms/index.md deleted file mode 100644 index ef0119d..0000000 --- a/docs/tasks/06-algorithms/index.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -sidebar_position: 1 ---- \ No newline at end of file diff --git a/docs/tasks/tasks.md b/docs/tasks/tasks.md index 83abe9e..e69de29 100644 --- a/docs/tasks/tasks.md +++ b/docs/tasks/tasks.md @@ -1,27 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Метод оценки сложности алгоритма O(n) - -Метод оценки сложности алгоритма **O(n)** используется для анализа времени выполнения алгоритма в зависимости от размера входных данных. Обозначение **O(n)** означает, что время выполнения алгоритма растёт линейно с увеличением размера входных данных. - -## Пример на JavaScript: -Рассмотрим простой пример алгоритма, который проходит по всем элементам массива и выполняет какую-то операцию (например, вывод в консоль): -```js -function printArrayElements(arr) { - for (let i = 0; i < arr.length; i++) { - console.log(arr[i]); - } -} -const array = [1, 2, 3, 4, 5]; -printArrayElements(array); -``` - -## Объяснение: -1. **Цикл `for`:** В этом примере цикл `for` проходит по каждому элементу массива `arr`. Количество итераций цикла равно длине массива `n`. -2. **Линейная зависимость:** Если массив увеличивается в размере (например, в 2 раза), то количество итераций цикла также увеличивается в 2 раза. Это означает, что время выполнения алгоритма растёт линейно с увеличением размера входных данных. -3. **Сложность O(n):** Таким образом, сложность этого алгоритма оценивается как **O(n)**, где `n` — это количество элементов в массиве. - -## Заключение: -Метод оценки сложности **O(n)** помогает понять, как будет вести себя алгоритм при увеличении объёма данных. В данном случае, если массив станет очень большим, время выполнения алгоритма будет пропорционально увеличиваться. \ No newline at end of file