Куда вставлять в связанный список и почему?

При применении открытого хеширования связанный список вставляет новый узел спереди или сзади, но что предпочтительнее и почему или не имеет значения?

Принцип открытого хеширования заключается в том, что полезные значения массива как части хэш-таблицы представляют собой односвязные списки (= SLL) (&). Каждый узел SLL состоит из пары значений ключа и относится к следующему узлу или нулю. При добавлении нового узла это может быть сделано в самом начале, то есть на "подключении" SLL к массиву, или в самом конце, то есть в хвосте SLL (для полноты: где-то случайно между возможно) На некоторых веб-сайтах и ​​в некоторых книгах добавление при открытом хешировании иллюстрируется добавлением НАЗАД. Другие сайты и книги добавляют ВПЕРЕД.

Мой вопрос: что желательно? Что чаще всего используется? Или это не играет никакой роли? Как то, что здесь описано, происходит в Java? А в C#?

Иллюстрации: спереди: https://www.cs.usfca.edu/~galles/visualization/OpenHash.html и сзади: https://visualgo.net/en/hashtable

(&) или обязательно / желательно использование двусвязного списка?

Прошу прощения, если этот вопрос уже был задан, но после поиска я нашел объяснения тому факту, что связанный список растет, но никто не объясняет, как именно - спереди или сзади и почему.

0 ответов

Другие вопросы по тегам