diff --git a/.eslintrc b/.eslintrc index cf3245bf..88af3ecf 100644 --- a/.eslintrc +++ b/.eslintrc @@ -12,6 +12,7 @@ "arrow-body-style": "off", "no-loop-func": "off" }, + "ignorePatterns": ["*.md", "*.png", "*.jpeg", "*.jpg"], "settings": { "react": { "version": "18.2.0" diff --git a/src/data-structures/linked-list/README.uk-UA.md b/src/data-structures/linked-list/README.uk-UA.md index 5424c58d..9b34a6d8 100644 --- a/src/data-structures/linked-list/README.uk-UA.md +++ b/src/data-structures/linked-list/README.uk-UA.md @@ -1,10 +1,10 @@ # Зв'язаний список -Зв'язаний список — базова динамічна структура даних в інформатиці, що складається з вузлів, кожен з яких містить як дані, так посилання («зв'язку») на наступний вузол списку. Дана структура дозволяє ефективно додавати та видаляти елементи на довільній позиції у послідовності у процесі ітерації. Більш складні варіанти включають додаткові посилання, що дозволяють ефективно додавати та видаляти довільні елементи. +Зв'язаний список — базова динамічна структура даних в інформатиці, що складається з вузлів, кожен з яких містить як дані, так і посилання («зв'язку») на наступний вузол списку. Ця структура даних дозволяє ефективно додавати та видаляти елементи на довільній позиції у послідовності у процесі ітерації. Більш складні варіанти включають додаткові посилання, що дозволяють ефективно додавати та видаляти довільні елементи. -Принциповою перевагою перед масивом є структурна гнучкість: порядок елементів зв'язкового списку може збігатися з порядком розташування елементів даних у пам'яті комп'ютера, а порядок обходу списку завжди явно задається його внутрішніми зв'язками. Суть переваги у тому, що у багатьох мовах створення масиву вимагає вказати його заздалегідь. Зв'язковий список дозволяє обійти це обмеження. +Принциповою перевагою перед масивом є структурна гнучкість: порядок елементів зв'язаного списку може збігатися з порядком розташування елементів даних у пам'яті комп'ютера, а порядок обходу списку завжди явно задається його внутрішніми зв'язками. Це важливо, бо у багатьох мовах створення масиву вимагає вказати його розмір заздалегідь. Зв'язаний список дозволяє обійти це обмеження. -Недоліком зв'язкових списків є те, що час доступу є лінійним (і важко для реалізації конвеєрів). Неможливий швидкий доступ (випадковий). +Недоліком зв'язаних списків є те, що час доступу є лінійним (і важко для реалізації конвеєрів). Неможливий швидкий доступ (випадковий). ![Linked List](./images/linked-list.jpeg) @@ -17,7 +17,7 @@ ```text Add(value) Pre: value - значення, що додається - Post: value поміщено в кінець списку + Post: value додано в кінець списку n ← node(value) if head = ø head ← n @@ -32,7 +32,7 @@ end Add ```text Prepend(value) Pre: value - значення, що додається - Post: value поміщено на початок списку + Post: value додано на початку списку n ← node(value) n.next ← head head ← n @@ -42,7 +42,7 @@ Prepend(value) end Prepend ``` -### Поиск +### Пошук ```text Contains(head, value) @@ -60,7 +60,7 @@ Contains(head, value) end Contains ``` -### Вилучення +### Видалення ```text Remove(head, value) @@ -94,7 +94,7 @@ Remove(head, value) end Remove ``` -### Обход +### Обхід ```text Traverse(head) @@ -108,12 +108,12 @@ Traverse(head) end Traverse ``` -### Зворотний обхід +### Зворотній обхід ```text ReverseTraversal(head, tail) - Pre: head и tail відносяться до одного списку - Post: елементи списку пройдено у зворотному порядку + Pre: head і tail відносяться до одного списку + Post: елементи списку пройдено у зворотньому порядку if tail != ø curr ← tail while curr != head @@ -131,7 +131,7 @@ end ReverseTraversal ## Складність -### Тимчасова складність +### Часова складність | Читання | Пошук | Вставка | Вилучення | | :--------: | :-------: | :--------: | :-------: | @@ -143,5 +143,5 @@ O(n) ## Посилання -- [Wikipedia](https://uk.wikipedia.org/wiki/%D0%97%D0%B2%27%D1%8F%D0%B7%D0%B0%D0%BD%D0%B8%D0%B9_%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA) +- [Wikipedia](https://uk.wikipedia.org/wiki/Зв'язаний_список) - [YouTube](https://www.youtube.com/watch?v=6snsMa4E1Os)