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)
|
||||
|
||||
@ -121,7 +110,7 @@ end Traverse
|
||||
|
||||
```text
|
||||
ReverseTraversal(head, tail)
|
||||
Pre: head и tail отноcятся к одному списку
|
||||
Pre: head и tail относятся к одному списку
|
||||
Post: элементы списка пройдены в обратном порядке
|
||||
if 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