Добрый день! Благодарю за вашу работу. Очень хорошие видео, пересматриваю по несколько раз при изучении структур данных. Буду очень рада, если подскажете, по из какой книги вы берете коды, хочу ещё подробнее углубиться в изучении структур данных
Добрый день. Показанный код берётся скорее из практики решения задач, чем из книг. В книгах по алгоритмам и структурам данных редко уделяют много внимания массивам и связным спискам - как правило, считается, что с их реализацией читатель уже знаком. Тем не менее, всё же можно назвать пару книг, в которых рассматривается именно код типовых реализаций: 1) Robert Sedgewick, Kevin Wayne. Algorithms, 4th edition, глава 1.3. Код на Java. У книги есть перевод на русский язык, а также сопутствующий курс на Coursera. 2) Pat Morin. Open Data Structures, главы 2, 3. Есть вариант с кодом на C++.
Здравствуйте! Спасибо большое за вашу работу! У меня к Вам вопрос. Класс Array, LinkedList, Очередь, Стек. Это очень подробно. У меня много вопросов с set, map, dictonary, где мне можно найти класс этих структур данных?
Добрый день. К сожалению, пока была записана только половина из предполагавшихся видео по структурам данных. Set и map в C++ реализуются на балансирующихся деревьях поиска, чуть подробнее реализация одного из них описывается в этом плейлисте: ruclips.net/p/PLGhUJWLZ8uQ5Ewplzb1ER29p4-kQme5Yr Для понимания устройства unordered_set и unordered_map (и, например, dict в Python) вам нужно будет познакомиться с хеш-таблицами. Интересующие вас темы рассмотрены в типовых учебниках (стандартный вариант - «Алгоритмы: построение и анализ» Кормена, главы 11-13), также их можно найти в онлайн-курсах (например, stepik.org/1547 ). Кроме того, вы можете посмотреть «Полезные плейлисты других авторов» в плейлистах этого канала, в некоторых из них тоже рассказано об этих структурах данных.
Спасибо за объяснение ... Вопрос - можно ли то же самое сделать на чистом Си, используя только Си-шные фунции, а класс (сlass) заменить структурой Си (struct) ?
Да, вполне. Вместо new и delete нужно будет использовать malloc и free, а вместо методов класса придётся написать внешние функции, принимающие экземпляр структуры.
@@op_ulstu Да, на С можно тоже имитировать ООП, только кода в результате будет несколько больше (и худшего качества) про malloc() и free() как раз все понятно) Непонятно, например, как можно реализовать operator[] ?
Добрый день! Благодарю за вашу работу. Очень хорошие видео, пересматриваю по несколько раз при изучении структур данных. Буду очень рада, если подскажете, по из какой книги вы берете коды, хочу ещё подробнее углубиться в изучении структур данных
Добрый день. Показанный код берётся скорее из практики решения задач, чем из книг.
В книгах по алгоритмам и структурам данных редко уделяют много внимания массивам и связным спискам - как правило, считается, что с их реализацией читатель уже знаком.
Тем не менее, всё же можно назвать пару книг, в которых рассматривается именно код типовых реализаций:
1) Robert Sedgewick, Kevin Wayne. Algorithms, 4th edition, глава 1.3. Код на Java. У книги есть перевод на русский язык, а также сопутствующий курс на Coursera.
2) Pat Morin. Open Data Structures, главы 2, 3. Есть вариант с кодом на C++.
Здравствуйте! Спасибо большое за вашу работу! У меня к Вам вопрос. Класс Array, LinkedList, Очередь, Стек. Это очень подробно. У меня много вопросов с set, map, dictonary, где мне можно найти класс этих структур данных?
Добрый день.
К сожалению, пока была записана только половина из предполагавшихся видео по структурам данных.
Set и map в C++ реализуются на балансирующихся деревьях поиска, чуть подробнее реализация одного из них описывается в этом плейлисте: ruclips.net/p/PLGhUJWLZ8uQ5Ewplzb1ER29p4-kQme5Yr
Для понимания устройства unordered_set и unordered_map (и, например, dict в Python) вам нужно будет познакомиться с хеш-таблицами.
Интересующие вас темы рассмотрены в типовых учебниках (стандартный вариант - «Алгоритмы: построение и анализ» Кормена, главы 11-13), также их можно найти в онлайн-курсах (например, stepik.org/1547 ).
Кроме того, вы можете посмотреть «Полезные плейлисты других авторов» в плейлистах этого канала, в некоторых из них тоже рассказано об этих структурах данных.
Большое спасибо за подробный ответ, с радостью посмотрю материалы, что вы посоветовали@@op_ulstu
у других блогеров не очень хочется смотреть, у вас очень полные видео, подробно очень@@op_ulstu
Спасибо за объяснение ... Вопрос - можно ли то же самое сделать на чистом Си, используя только Си-шные фунции, а класс (сlass) заменить структурой Си (struct) ?
Да, вполне. Вместо new и delete нужно будет использовать malloc и free, а вместо методов класса придётся написать внешние функции, принимающие экземпляр структуры.
@@op_ulstu
Да, на С можно тоже имитировать ООП, только кода в результате будет несколько больше (и худшего качества)
про malloc() и free() как раз все понятно)
Непонятно, например, как можно реализовать operator[] ?
@@electronic008 В языке C (пока) нет перегрузки операторов, так что вместо operator[] придётся сделать функцию get.
godbolt.org/z/jTdxT879d
Хороший ролик!
Но меня в вузе пинали за притн в классе, да и в целом за выкидывание чего-то в поток вывода)
Заметьте, что функция print из видео - не метод класса Array. Она внешняя по отношению к этому классу.
@@op_ulstu ой, правда, извините тогда, смотрел как-то невнимательно.