Структуры данных в c#. Устройство самых распространенных структур данных

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

"00:00 - Введение"
"00:30 - Чем отличается массив от листа"
"03:23 - Что такое связанный список"
"05:25 - Что общего у строки и массива"
"07:54 - Зачем нужен стек и очередь"
"10:42 - Как работает словарь"

Поддержка канала:
В крипте:
BTC - 16WmTb4VTFGYrwEjjnMKNNMMzsMB1rPEqD
ETH - 0x8d35406f8317b846528d0a9ea4a34ce59968dff2
XRP - rLW9gnQo7BQhU6igk5keqYnH3TVrCxGRzm (TAG - 1438215071)
LTC- MNSWdzdVsUMnozSU5HhUPEscfxaUK3Fdck

#unity3d #алгоритмы #геймдев #программирование #ityoutubersru
Рекомендации по теме
Комментарии
Автор

Максим, спасибо что делишься опытом и знаниями! Вроде фундаментальные вещи, а нюансов много.

ИгорьМорозов-ыы
Автор

В текущем проекте юзаю очередь, так как она мне показалась удобной при работе с паттерном команда.

trell_
Автор

Это очень сложно, но очень нужно. думаю нужно посмотреть несколько сот раз, что бы это усвоить. Спасибо Макс, ты лучше чем хауди.

maxmojet
Автор

Четко, коротко и крайне понятно... Сенкс.

mastervolodsobeck
Автор

Какое эпичное окончание видео :) А так, очень рекомендую всем новичкам. Эти вещи это не "странные" хотелки на собеседовании, это то чем мы реально пользуемся при решении рабочих задач

kirillsviderski
Автор

А это хорошая идея про подробный разбор типов значения и ссылочных.

АлексХрапин
Автор

Спсибо, интересно, но мне больше нравится использовать SortedList<Tkey, Tvalue> он упорядочен и реализован с помощью бинарного дерева, что на мой взгляд является оптимальным решением.
А стек я использую для смены окон интерфейса, когда из одного открывается другое, то предыдущее прячется и ссылка помещается в стек. Такое решение конечно подойдет не везде, но для меня пока годится :)

nickr
Автор

Круто! 🔥
Радуюсь каждому видео!
Лукас и коммент в поддержку автора канала!

vladisslavss
Автор

Вот так узнаешь подкопотное листа и психологически сложнее становится использовать, хотя и понимаешь что чаще всего это не повлияет на скорость настолько критично. ) Спасибо, было полезно, но придется еще пересмотреть.
Мне честно говоря пока не сильно пригодились словари, тут или не было подходящей задачи, либо надо получше разобратсья в теме чтобы понять где это бы пригодилось прям на 100%.

AlexStraga
Автор

Спасибо за новое Видео! Лучший канал в своем роде.

IvanBilousov
Автор

Очень крутое видео, спасибо, жду продолжения.

Alexander-kood
Автор

круто, я пока ничего кроме массива листа и словаря не использовал. Но очень удивительно было узнать что словарь быстрее листа и ваще супер крутой такой!

МаксКузнец-пб
Автор

Достойный ролик. Тема ... данных раскрыта. )

andrewmad
Автор

Спасибо за детальное объяснение! Особенно про перемешивание списка и HashSet. Использовал Stack в последнем проекте для реализации Undo/Redo функционала.

EmanX
Автор

Спасибо! Лучшее объяснение по структурам данных!
Не понимаю, зачем было реализовывать стек и очередь на основе массива, если есть односвязный список, где алгоритмическая сложность добавления и удаления была бы всегда O(1). А здесь мы сталкиваемся с необходимостью периодически перераспределять память при добавлении и удалении данных, а так же проверками размерности массива. Почему разрабы такой реализации отдали предпочтение?

romashep
Автор

Использую очередь для реализации пула игровых объектов в Юнити (чтобы не приходилось каждый раз создавать часто используемые объекты типа пуль).

jarofed
Автор

Спасибо.
Использовал словарь, лист, связный лист, и даже хэшсэт. Но стэк и очередь пока не приходилось.

brainwashing
Автор

Кто эти странные люди, кто ставит дизлайк 😅

Максим, спасибо за полезные видео 🙏🏻

Simba_the_cat
Автор

Максим, большое спасибо за такой качественный и полезный контент, очень хотелось бы увидеть видео об архитектуре игры в самом Юнити и продолжения темы паттернов. Если не секрет, то в каких студиях/компаниях ты работал? Какими проектами занимался?

ПризракКиева-жс
Автор

на 10:26 не совсем понял. Разве мы не должны подбрасывать во второй стек только после его опустошения когда хотим извлечь очередной элемент?
стеки пишу от верха ложим 1, 2, 3
первый стек 321 --- второй пусто
команда извлечь => перекинули получили
пусто --- 123 и отдали 1
пусто -- 23
снова ложим 4 потом 5
54 -- 23
извлечь - не копируем отдаем просто 2, только если опустел должны скопировать
иначе получим
пусто --- 5423 и отдадим 5

profuter