Спасибо!!! В качестве преимущества динамических массивов над списками ещё можно отметить их кэш дружелюбность. А в качестве недостатка списков над массивами - фрагментация памяти
Спасибо за видео. Из видео не совсем понятно, почему вставка в связанный список быстрая. Из видео кажется, что вставка нового узла после i-го узла в связанный список - обход от head до i-го. Вставка в массив по i-му индексу - смещение всех элементов после i-го. Т.е. по сути в связанный список проще вставить узел в начало, а в массив проще вставить элемент в конец. Но вы сказали, что вставка в связанный список быстрая. Это потому, что обычно мы уже имеем указатель на узел, после которого хотим вставить другой узел?
вся математика построена на таблице умножения, как и тут, деревья и графы на них построены, а на деревьях и графах алгоритмы такси, беспилотников и так далее, шире мыслить надо
@@vladimir_balun_programming зачем вставлять в начало если можно вставлять в конец а потом прочитать в обратном направлении. И это синтетика, в реальности списки практически не используют.
@@macewite есть ряд задач, где это нужно делать, например реализация LRU-кэша - если вам не приходилось еще иметь дел с подобными задачами, это не значит, что связные списки медленные и непопулярные)
Спасибо!!!
В качестве преимущества динамических массивов над списками ещё можно отметить их кэш дружелюбность. А в качестве недостатка списков над массивами - фрагментация памяти
Спасибо, в видео говорил про кэш дружелюбность
Шикарный урок, спасибо.
Круто! А можете про хэш-таблицы ещё рассказать?
Спасибо, да, будет отдельное видео по хэш таблицам
Спасибо за видео! А вставка в конце у односвязного списка равна О(1) или О(n) ? Запутался
Вставка О(1), если есть итератор на этот конец)
@@vladimir_balun_programming А если нет то мы идем по всему списку и получаем O(n), верно?
Спасибо за видео.
Из видео не совсем понятно, почему вставка в связанный список быстрая.
Из видео кажется, что вставка нового узла после i-го узла в связанный список - обход от head до i-го.
Вставка в массив по i-му индексу - смещение всех элементов после i-го.
Т.е. по сути в связанный список проще вставить узел в начало, а в массив проще вставить элемент в конец.
Но вы сказали, что вставка в связанный список быстрая. Это потому, что обычно мы уже имеем указатель на узел, после которого хотим вставить другой узел?
В видео говорилось, что вставка в середину константная, когда есть итераторы, куда нужно вставлять - иначе придется за линию искать куда вставить
Хотелось бы разъяснение графов услышать
Спасибо, будет отдельное видео по графам
@@vladimir_balun_programming spasibo bratan
Тема закрыта уже лет 40 как. Примерно как таблица умножения. 2*2=4.
вся математика построена на таблице умножения, как и тут, деревья и графы на них построены, а на деревьях и графах алгоритмы такси, беспилотников и так далее, шире мыслить надо
Связные списки не популярны и медленны по сравнению с массивами
Это неправильно определение - в видео объясняется почему
@@vladimir_balun_programming где списки быстрее массива?
@@macewite Напишите два цикла со вставкой в начало и посмотрите разницу или с удалением из начала
@@vladimir_balun_programming зачем вставлять в начало если можно вставлять в конец а потом прочитать в обратном направлении. И это синтетика, в реальности списки практически не используют.
@@macewite есть ряд задач, где это нужно делать, например реализация LRU-кэша - если вам не приходилось еще иметь дел с подобными задачами, это не значит, что связные списки медленные и непопулярные)