Указатель на следующий элемент. Последний элемент списка указывает на null. Для начала определим несколько терминов, чтобы в дальнейшем не возникло недопонимания


struct list* l1 = (struct list*)malloc(sizeof(struct list))


Download 0.88 Mb.
bet4/8
Sana02.01.2023
Hajmi0.88 Mb.
#1075625
TuriУказатель
1   2   3   4   5   6   7   8
Bog'liq
elekf

struct list* l1 = (struct list*)malloc(sizeof(struct list));

struct list* l1 = (struct list*)malloc(sizeof(struct list));

l1->field = 1;

l1->next = (struct list*)malloc(sizeof(struct list));

l1->next->field = 2;

l1->next->next = (struct list*)malloc(sizeof(struct list));

/* и т.д. */

Кольцевой связный список

  • Кольцевой связный список
  • Разновидностью связных списков является кольцевой (циклический, замкнутый) список. Он тоже может быть односвязным или двусвязным. Последний элемент кольцевого списка содержит указатель на первый, а первый (в случае двусвязного списка) — на последний.

Как правило, такая структура реализуется на базе линейного списка. С каждым кольцевым списком дополнительно хранится указатель на первый элемент. В этом списке ссылки на NULL не встречается.

  • Как правило, такая структура реализуется на базе линейного списка. С каждым кольцевым списком дополнительно хранится указатель на первый элемент. В этом списке ссылки на NULL не встречается.
  • Также существуют циклические списки с выделенным головным элементом, облегчающие полный проход через список.

Список с пропусками

Список с пропусками

Основная статья: Список с пропусками

Список с пропусками (англ. Skip List) — вероятностная структура данных, основанная на нескольких параллельных отсортированных связных списках с эффективностью, сравнимой с двоичным деревом (порядка O(log n) среднее время для большинства операций).

В основе списка с пропусками лежит расширение отсортированного связного списка дополнительными связями, добавленными в случайных путях с геометрическим/негативным биномиальным распределением[1], таким образом, чтобы поиск по списку мог быстро пропускать части этого списка. Вставка, поиск и удаление выполняются за логарифмическое случайное время.

  • В основе списка с пропусками лежит расширение отсортированного связного списка дополнительными связями, добавленными в случайных путях с геометрическим/негативным биномиальным распределением[1], таким образом, чтобы поиск по списку мог быстро пропускать части этого списка. Вставка, поиск и удаление выполняются за логарифмическое случайное время.

Download 0.88 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling