*Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*
@fallennephalem12586 жыл бұрын
#SimpleCode Здравствуйте Сергей, я сейчас обучаюсь C++ по вашим урокам, вы делаете их очень хорошо, а главное понятно. Я хотел у вас спросить, а будут ли уроки по C#?
@SimpleCodeIT6 жыл бұрын
Через 1-2 месяца начну создание углублённого курса по C#.
@Ogr2856 жыл бұрын
Лучшие уроки по динамическим структурам данным, которые я видел. Большое спасибо.
@SimpleCodeIT6 жыл бұрын
Пожалуйста!
@shaa81936 жыл бұрын
А если "Мне только спросить"?
@51SErVER2 жыл бұрын
Тогда вне очереди конечно
@olyalya9651 Жыл бұрын
😁
@ImyaFamiliya646896 ай бұрын
А это уже очередь с приоритетом
@C2H5OHH3 жыл бұрын
На мой взгляд, наиболее подходит двусвязный список, разве что нужно убрать у него возможность получения доступа к элементам, которые находятся с первого включительно по последний не включительно. Спасибо за урок!
@АйратИсмагилов-э1ж6 жыл бұрын
Ты лучший, все мои одноклассники, которые хотят стать программистами смотрят тебя.!КОроль
Поздравляю с 100.000 подписчиков! Спасибо за ваши уроки!
@nikossik5 жыл бұрын
Спасибо большое!!!!
@ex28884 жыл бұрын
5:19 двусвязный список upd: еее, правильно ответил
@ПавелБойко-ь2д3 жыл бұрын
Спасибо за урок !)
@ВладимирУльянов-ь9м6 жыл бұрын
Не совсем понятно, зачем использовать именно двусвязный список, так как можно взять за основу односвязный с одним "усовершенствованием" - будем хранить указатель и на головной элемент списка (начало очереди), и на последний (конец очереди). В таком случае, принцип извлечения элемента из начала очереди по реализации будет аналогичен извлечению элемента из начала списка, а добавления элемента в конец очереди - соответственно, добавлению элемента в конец списка, с той лишь разницей, что при этом "концевой" указатель будет переходить на этот самый добавленный элемент. Такой вариант будет и более быстрым, и менее затратным по памяти, нежели вариант с двусвязным списком
@akekscoins5 жыл бұрын
А теперь представь, в очереди есть 10 элементов. Извлекаем первый элемент из очереди. Как поставить указатель на первый элемент? мы начинаем с последнего элемента очереди (это хеад односвязного списка) и перебираем весь односвязный список, чтобы добавить указатель на первый элемент в очереди. С двусвязным списком не будет этого перебора.
@ИналМестоев4 жыл бұрын
@@akekscoins "Как поставить указатель на первый элемент после извлечения первого?" , а в чем собственно проблема? Создаем указатель на объект типа узла присваиваем ей первый узел,а далее первому узлу присваиваем её же адрес (т.е адрес на след узел, тем самым присвоив указателю второй элемент, как первый), а потом при помощи указателя которой мы создали удаляем бывший первый элемент. В итоге у нас первым узлом стал второй, а первый удалили (можно также любую другую операцию сделать)
@ПьерФерма-г2ъ4 жыл бұрын
Ты в курсе, что описал работу двусвязного списка?
@clashsmash97634 жыл бұрын
@@ПьерФерма-г2ъ В том и прикол, что работать это будет как в двусвязном списке, но таким образом мы экономим ресурсы, разве нет? Для реализации очереди ведь ненужен весь функционал двусвязного списка.
@АрманСоколовский4 жыл бұрын
Ну то есть односвязный список соазу с head и tail указателями, но без prev указателя в каждом узле, как было бы в двусвязном списке. В принципе логичная и даже более безопасная для очереди структура, но не имеющая собственного названия в иерархии динамических структур и потому, наверное, слишком нестандартная, чтобы реализовывать такой тюнинг в уроке для новичков
@fortnitebestmoments36811 ай бұрын
Односвязный не? Хранить ссылку на последний элемент и ему добавлять новый элементы.
@БорисЦариков-ъ9п6 жыл бұрын
Молодец, понравился урок
@ivanrozb3 жыл бұрын
5:19 Двусвязный список
@postdisc0 Жыл бұрын
я тебя люблююююю 😭❤❤❤
@Blendershick4 жыл бұрын
Спасибо!
@zhenyacanada14434 жыл бұрын
Спасибо
@DoctorKrolic6 жыл бұрын
Двухсвязный список. Тут очевидно.
@myaccount71666 жыл бұрын
Спасибо за видео. Единственный вопрос, почему именно двусвязный список? Ведь односвязный тоже должен подойти, а работает чуть чуть быстрее (за счёт только одного поля с адресом).
@myaccount71666 жыл бұрын
Дошло. Односвязный список изначально не позволяет получить последний элемент в списке.
@ЮрийЛаврухин-к2г5 жыл бұрын
@@myaccount7166 спасибо
@АртемЧешихин-з3л4 жыл бұрын
На базе односвязного списка очередь прекрасно будет работать, надеюсь за 2 года ты это понял.
@Kalin_cheetah Жыл бұрын
@@АртемЧешихин-з3л если последний элемент удаляем, нужно чтобы tail стал указывать на предпоследний элемент, а без prev pointer придется искать его с начала, поэтому не могу понять почему-то на базе односвязного (даже если модифицировать tail'ом) очередь прекрасно работает
@1Dpyr Жыл бұрын
@@Kalin_cheetah просто подумайте о том что в односвязном списке можно организовать поле tail и head... и поменять их местами... в tail будем добавлять элемент, а из head будем забирать.
@alexanderurezchenko64465 жыл бұрын
Было бы здорово, если бы автор видео отвечал на вопросы зрителей в комментариях...
@МалышевМаксим-о7е3 жыл бұрын
ну так отвечают, но если 500 роликов и вопросы разнообразные, то не всегда сразу легко вникнуть в то что спрашивают, так и спрашивают иногда херню)
@crazyraccoon69954 жыл бұрын
А не будет лучше для очередей использовать видоизменённый односвязный список? То есть это односвязный список, но с указателем на последний элемент. А внутри блока Node не будет лишних указателей на предыдущий элемент.
@bossmusa90754 жыл бұрын
односвязный список тратить дольше времени при добавлении элемента в конец списка, а двусвязный список не тратит почти ничего
@АрманСоколовский4 жыл бұрын
@@bossmusa9075 односвязный с tail указателем на последний элемент (тюнингованый односвязный) потратит столько же времени на добавление в конец, сколько и двусвязный (нет, даже меньше, обратных указателей не будет)
@flowlike6ixgod3 жыл бұрын
@@АрманСоколовский то есть лучше использовать "тюнингованный односвязный"?
@Ingwar_6 жыл бұрын
спасибо
@bitard33616 жыл бұрын
Будут видео по java ?
@АндрійіВаняДауни Жыл бұрын
нет
@izvarzone2 жыл бұрын
FIFO - как в больничке. FILO - как в MTG.
@bumstern5 жыл бұрын
А разве при добавлении элемента в очередь не будет происходить фрагментация памяти? С тем условием, что реализовывать мы будем его как список.
@kaynsolo6 жыл бұрын
Like!
@xenonist45026 жыл бұрын
Почему мы не можем просматривать элементы в середине очереди? Мы же их не изменяем, а просто проходимся по цепочке ссылок, просто перебор, что в нём такого? Зачем урезать этот функционал, он же может пригодиться?
@test_bot55413 жыл бұрын
За 2 года вы уже, конечно, нашли ответ на этот вопрос, но... Потому что есть конкретные требования к структуре под названием очередь и этим требованиям соответствует интерфейс для работы с ней. Сегодня вы под капотом реализовали очередь, как цепочку ссылок, а завтра окажется, что конкретно для вашей задачи оптимальней использовать массив. И вот после изменения реализации очереди, скорее всего уже кем-то другим, весь стандартный функционал работает, как и ожидается по стандарту - добавление в конец, удаление сначала, пока в одном прекрасном месте программы не вызовется ваш пригодившийся, никем не ожидаемый, метод readNextListNode :-)
@bonusanima2 жыл бұрын
@@test_bot5541 какие классные у Вас ответы, спасибо.
@Anatolii_V_Novikov Жыл бұрын
А можно ли реализовать очередь на слегка модифицированном односвязном списке? Модификация заключается в добавлении поля tail, и тогда добавление в очередь будет выгодно обернуть в push_back().
@Kokurorokuko4 жыл бұрын
Объясните мне, пожалуйста: многие эти структуры данных только ограничивают возможности программиста. Есть ли смысл тогда их использовать? Ради экономии ресурсов компьютера?
@АлинаЛебедева-м5ь4 жыл бұрын
В первую очередь для удобства. Когда нужна очередь и ты используешь очередь, сразу интуитивно понятно, что именно оно делает, чем если ты используешь список
@lizenox2 жыл бұрын
Они не ограничивают возможности если выбирать с умом. Когда вы подбираете структуру данных под конкретную задачу и запросы, то это наоборот вам даст больше возможностей т.к будет расходоваться меньше ресурсов а запросы будут выполняться быстрее. Главное понимать что это просто инструменты, и все будет зависеть только от вас - разработчика)
@ПавелКузнецов-ш2б5 жыл бұрын
хороший бример это Queue
@владимиргончаров-з5ж5 жыл бұрын
😃😃😃😃😃😃
@habihabi20034 жыл бұрын
Что такое bootloader
@medetkhanaltynbek14423 жыл бұрын
похоже на двусвязный список
@nightwolf43714 жыл бұрын
😳😳😳
@vasiltsaruk5009 ай бұрын
??? Чому не використати однозв'язний список з фіксацією початкового (зчитування) і кінцевого (додавання) елементів/об'єктів? Це дійсно ідеальний варіант.
@maksimanvar73614 жыл бұрын
+
@bogdanstrelkov62934 жыл бұрын
Спасибо огромное, подскажите пожалуйста как удалять каждый второй элемент в очереде?
@test_bot55413 жыл бұрын
И вот вы летите на вертолёте, и видите, как внизу в один конец тоннеля въезжает поезд, вагон за вагоном, и так же через время вагон за вагоном выезжает из другого конце тоннеля. Как бы так удалить каждый второй вагон, пока поезд находится в тоннеле? Да просто не думать об этом.