mirror of
https://github.moeyy.xyz/https://github.com/trekhleb/javascript-algorithms.git
synced 2024-12-26 07:01:18 +08:00
Fix LinkedList translations.
This commit is contained in:
parent
90d8a3f6fc
commit
db6fcb289a
@ -1,21 +1,10 @@
|
|||||||
# Связный список
|
# Связный список
|
||||||
Связный список — базовая динамическая структура данных в информатике,
|
|
||||||
состоящая из узлов, каждый из которых содержит как собственно данные,так ссылку
|
|
||||||
(«связку») на следующий узел списка. Данная структура позволяет эффективно
|
|
||||||
добавлять и удалять элементы на произвольной позиции в последовательности в
|
|
||||||
процессе итерации. Более сложные варианты включают дополнительные ссылки,
|
|
||||||
позволяющие эффективно добавлять и удалять произвольные элементы.
|
|
||||||
|
|
||||||
Принципиальным преимуществом перед массивом является структурная гибкость:
|
Связный список — базовая динамическая структура данных в информатике, состоящая из узлов, каждый из которых содержит как собственно данные,так ссылку («связку») на следующий узел списка. Данная структура позволяет эффективно добавлять и удалять элементы на произвольной позиции в последовательности в процессе итерации. Более сложные варианты включают дополнительные ссылки, позволяющие эффективно добавлять и удалять произвольные элементы.
|
||||||
порядок элементов связного списка может не совпадать с порядком расположения
|
|
||||||
элементов данных в памяти компьютера, а порядок обхода списка всегда
|
|
||||||
явно задаётся его внутренними связями. Суть преимущества состоит в том,
|
|
||||||
что во многих языках создание массива требует указать его размер заранее.
|
|
||||||
Связный список позволяет обойти это ограничение.
|
|
||||||
|
|
||||||
Недостатком связных списков является то, что время доступа линейно
|
Принципиальным преимуществом перед массивом является структурная гибкость: порядок элементов связного списка может не совпадать с порядком расположения элементов данных в памяти компьютера, а порядок обхода списка всегда явно задаётся его внутренними связями. Суть преимущества состоит в том, что во многих языках создание массива требует указать его размер заранее. Связный список позволяет обойти это ограничение.
|
||||||
(и затруднительно для реализации конвейеров). Быстрый доступ(случайный)
|
|
||||||
невозможен.
|
Недостатком связных списков является то, что время доступа линейно (и затруднительно для реализации конвейеров). Быстрый доступ(случайный) невозможен.
|
||||||
|
|
||||||
![Связный список](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
|
![Связный список](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
|
||||||
|
|
||||||
@ -121,7 +110,7 @@ end Traverse
|
|||||||
|
|
||||||
```text
|
```text
|
||||||
ReverseTraversal(head, tail)
|
ReverseTraversal(head, tail)
|
||||||
Pre: head и tail отноcятся к одному списку
|
Pre: head и tail относятся к одному списку
|
||||||
Post: элементы списка пройдены в обратном порядке
|
Post: элементы списка пройдены в обратном порядке
|
||||||
if tail != ø
|
if tail != ø
|
||||||
curr ← tail
|
curr ← tail
|
||||||
@ -143,8 +132,8 @@ end ReverseTraversal
|
|||||||
### Временная сложность
|
### Временная сложность
|
||||||
|
|
||||||
| Чтение | Поиск | Вставка | Удаление |
|
| Чтение | Поиск | Вставка | Удаление |
|
||||||
| :-------: | :-------: | :-------: | :-------: |
|
| :--------: | :-------: | :--------: | :-------: |
|
||||||
| O(n) | O(n) | O(1) | O(1) |
|
| O(n) | O(n) | O(1) | O(1) |
|
||||||
|
|
||||||
### Пространственная сложность
|
### Пространственная сложность
|
||||||
|
|
Loading…
Reference in New Issue
Block a user