Зв'язаний список — базова динамічна структура даних в інформатиці, що складається з вузлів, кожен з яких містить як дані, так посилання («зв'язку») на наступний вузол списку. Дана структура дозволяє ефективно додавати та видаляти елементи на довільній позиції у послідовності у процесі ітерації. Більш складні варіанти включають додаткові посилання, що дозволяють ефективно додавати та видаляти довільні елементи.
3
+
Зв'язаний список — базова динамічна структура даних в інформатиці, що складається з вузлів, кожен з яких містить як дані, так і посилання («зв'язку») на наступний вузол списку. Ця структура даних дозволяє ефективно додавати та видаляти елементи на довільній позиції у послідовності у процесі ітерації. Більш складні варіанти включають додаткові посилання, що дозволяють ефективно додавати та видаляти довільні елементи.
4
4
5
-
Принциповою перевагою перед масивом є структурна гнучкість: порядок елементів зв'язкового списку може збігатися з порядком розташування елементів даних у пам'яті комп'ютера, а порядок обходу списку завжди явно задається його внутрішніми зв'язками. Суть переваги у тому, що у багатьох мовах створення масиву вимагає вказати його заздалегідь. Зв'язковий список дозволяє обійти це обмеження.
5
+
Принциповою перевагою перед масивом є структурна гнучкість: порядок елементів зв'язаного списку може збігатися з порядком розташування елементів даних у пам'яті комп'ютера, а порядок обходу списку завжди явно задається його внутрішніми зв'язками. Це важливо, бо у багатьох мовах створення масиву вимагає вказати його розмір заздалегідь. Зв'язаний список дозволяє обійти це обмеження.
6
6
7
-
Недоліком зв'язкових списків є те, що час доступу є лінійним (і важко для реалізації конвеєрів). Неможливий швидкий доступ (випадковий).
7
+
Недоліком зв'язаних списків є те, що час доступу є лінійним (і важко для реалізації конвеєрів). Неможливий швидкий доступ (випадковий).
8
8
9
9

10
10
@@ -17,7 +17,7 @@
17
17
```text
18
18
Add(value)
19
19
Pre: value - значення, що додається
20
-
Post: value поміщено в кінець списку
20
+
Post: value додано в кінець списку
21
21
n ← node(value)
22
22
if head = ø
23
23
head ← n
@@ -32,7 +32,7 @@ end Add
32
32
```text
33
33
Prepend(value)
34
34
Pre: value - значення, що додається
35
-
Post: value поміщено на початок списку
35
+
Post: value додано на початку списку
36
36
n ← node(value)
37
37
n.next ← head
38
38
head ← n
@@ -42,7 +42,7 @@ Prepend(value)
42
42
end Prepend
43
43
```
44
44
45
-
### Поиск
45
+
### Пошук
46
46
47
47
```text
48
48
Contains(head, value)
@@ -60,7 +60,7 @@ Contains(head, value)
60
60
end Contains
61
61
```
62
62
63
-
### Вилучення
63
+
### Видалення
64
64
65
65
```text
66
66
Remove(head, value)
@@ -94,7 +94,7 @@ Remove(head, value)
94
94
end Remove
95
95
```
96
96
97
-
### Обход
97
+
### Обхід
98
98
99
99
```text
100
100
Traverse(head)
@@ -108,12 +108,12 @@ Traverse(head)
108
108
end Traverse
109
109
```
110
110
111
-
### Зворотний обхід
111
+
### Зворотній обхід
112
112
113
113
```text
114
114
ReverseTraversal(head, tail)
115
-
Pre: head и tail відносяться до одного списку
116
-
Post: елементи списку пройдено у зворотному порядку
115
+
Pre: head і tail відносяться до одного списку
116
+
Post: елементи списку пройдено у зворотньому порядку
0 commit comments