![Daria Emacs](/img/default-banner.jpg)
- Видео 107
- Просмотров 1 260 676
Daria Emacs
Россия
Добавлен 28 май 2016
Всем привет!
Меня зовут Дарья. Я математик-программист.
Интересы: C++17, OpenCV, Python, Dart, Flutter, алгоритмы машинного зрения. Межъязыковое взаимодействие C++, Dart и Python.
Поддержать канал: 2202201783140722
Меня зовут Дарья. Я математик-программист.
Интересы: C++17, OpenCV, Python, Dart, Flutter, алгоритмы машинного зрения. Межъязыковое взаимодействие C++, Dart и Python.
Поддержать канал: 2202201783140722
Деревья поиска | История развития
Поддержать канал: 41001553838775 (yoomoney)
Спасибо за Вашу поддержку!
Что такое бинарное дерево поиска, и для чего оно нужно?
Как сбалансировать дерево, и какие есть самые известные способы это сделать?
Все это мы обсудим в видео.
00:00 - приветствие
00:54 - бинарное дерево поиска (BST)
03:36 - длина пути дерева (path length)
05:42 - АВЛ-деревья (AVL-tree)
07:56 - история изобретения АВЛ-деревьев
09:49 - 2-3 деревья
12:06 - B-деревья
12:40 - 2-3 дерево в бинарном виде
13:19 - почему B-деревья так называются
14:37 - Google реализовал C++ контейнеры на B-деревьях
14:57 - 2-3-4 деревья (симметричные бинарные деревья)
15:36 - weight-balanced tree (BB-tree, взвешенно-сбалансированные деревья)
17:53 - height-b...
Спасибо за Вашу поддержку!
Что такое бинарное дерево поиска, и для чего оно нужно?
Как сбалансировать дерево, и какие есть самые известные способы это сделать?
Все это мы обсудим в видео.
00:00 - приветствие
00:54 - бинарное дерево поиска (BST)
03:36 - длина пути дерева (path length)
05:42 - АВЛ-деревья (AVL-tree)
07:56 - история изобретения АВЛ-деревьев
09:49 - 2-3 деревья
12:06 - B-деревья
12:40 - 2-3 дерево в бинарном виде
13:19 - почему B-деревья так называются
14:37 - Google реализовал C++ контейнеры на B-деревьях
14:57 - 2-3-4 деревья (симметричные бинарные деревья)
15:36 - weight-balanced tree (BB-tree, взвешенно-сбалансированные деревья)
17:53 - height-b...
Просмотров: 3 636
Видео
Name mangling | Арифметические преобразования в C++
Просмотров 6 тыс.3 года назад
Name mangling | Арифметические преобразования в C
Диплом Бакалавра | Прикладная Математика и Информатика
Просмотров 14 тыс.3 года назад
Диплом Бакалавра | Прикладная Математика и Информатика
Обратный порядок слов на C++17 и Си
Просмотров 4,6 тыс.3 года назад
Обратный порядок слов на C 17 и Си
Т. Кормен | Рекуррентное уравнение. Доказательство с помощью математической индукции
Просмотров 2,9 тыс.3 года назад
Т. Кормен | Рекуррентное уравнение. Доказательство с помощью математической индукции
Глава 2.2 Т. Кормен Анализ алгоритмов
Просмотров 3,5 тыс.3 года назад
Глава 2.2 Т. Кормен Анализ алгоритмов
Глава 2.1 Т. Кормен Алгоритмы: построение и анализ
Просмотров 9 тыс.3 года назад
Глава 2.1 Т. Кормен Алгоритмы: построение и анализ
Разбор математики в "Операция Ы и другие приключения Шурика"
Просмотров 3,3 тыс.3 года назад
Разбор математики в "Операция Ы и другие приключения Шурика"
Часть 6. Читаем из файла и расшифровываем
Просмотров 2,3 тыс.3 года назад
Часть 6. Читаем из файла и расшифровываем
Часть 5. Сжимаем текст и записываем в файл
Просмотров 3,2 тыс.3 года назад
Часть 5. Сжимаем текст и записываем в файл
Часть 4. Строим дерево и создаем коды
Просмотров 3,1 тыс.4 года назад
Часть 4. Строим дерево и создаем коды
Часть 3. Добавляем очередь с приоритетами
Просмотров 3,4 тыс.4 года назад
Часть 3. Добавляем очередь с приоритетами
Дополнение к 1 части. Сериализация вектора, boost serialization
Просмотров 2,9 тыс.4 года назад
Дополнение к 1 части. Сериализация вектора, boost serialization
Часть 1. Пишем алгоритм Хаффмана на C++
Просмотров 10 тыс.4 года назад
Часть 1. Пишем алгоритм Хаффмана на C
Мои впечатления о Робофесте 2020, категория "Робофишки"
Просмотров 2 тыс.4 года назад
Мои впечатления о Робофесте 2020, категория "Робофишки"
Марковские цепи на простом примере с несимметричной монетой
Просмотров 6 тыс.4 года назад
Марковские цепи на простом примере с несимметричной монетой
C++ vs WeDo 2.0 | Школота против ветеранов
Просмотров 4,1 тыс.4 года назад
C vs WeDo 2.0 | Школота против ветеранов
Вычисляем e с точностью 600 знаков после запятой
Просмотров 4 тыс.4 года назад
Вычисляем e с точностью 600 знаков после запятой
Как писать выражения в C++ | 7 советов
Просмотров 3 тыс.4 года назад
Как писать выражения в C | 7 советов
Как правильно назвать класс, переменную, функции | C++
Просмотров 2,1 тыс.4 года назад
Как правильно назвать класс, переменную, функции | C
Часть 2. Плюсы и минусы профессии программист.
Просмотров 1,7 тыс.4 года назад
Часть 2. Плюсы и минусы профессии программист.
Часть 1. Плюсы и минусы профессии программист.
Просмотров 2,6 тыс.4 года назад
Часть 1. Плюсы и минусы профессии программист.
Три главных принципа хорошей программы. Смотрю свой старый код
Просмотров 4,9 тыс.4 года назад
Три главных принципа хорошей программы. Смотрю свой старый код
А насколько для C++ джуна важны знания например POSIX, сети, протоколы передачи данных? Или эти моменты постигаются в процесе работы? Понимаю, зависит от организации, но если нет коммерческого опыта, то владение языком рассматривается как основной критерий? Понимаю, что основы CS важны для c++ника
Классный ролик, спасибо вам! Один момент до меня все-таки не доходит: на уровне памяти чем копирование отличается от перемещения? Вот есть вектор объектов типа Т. Мы вызывает метод push_back() и передаем в качестве аргумента rvalue при помощи std::move(), но чтобы новый элемент вектора встал последовательно за предыдущим, его же нужно туда поместить, т.е процессор все равно проделывает работу по размещению в памяти данных. Я думал, что это и есть основное процессорное время на данную операцию. Или же проблема заключается в том, что объект сначала создается на стеке, а потом его нужно еще и скопировать в нужное место? Т.е, перемещая, мы все равно тратим процессорное время на размещения объекта в новых ячейках памяти, но избегаем создания временного объекта на стеке?
Чет сложно, битовые операции какие то
Честно, я как человек програмированием не зарабатывающий, хотя и имеющий приличное представление о языках программирования, являюсь фанатом даже не Си, а Си если убрать из него "высокоуровневые надстройки" типа енум. В своё время создал проект языка, который условно прозвал макроассемблером для несуществующего процессора. Там был один тип данных - байтовый вектор. Не было никаких не то что классов, а даже структур или массивов. Язык программирования ведь отражает определённую идеологию, вкусы его создателей. Я полагаю, что человечество стремительно несётся к концу именно из-за неконтролируемого стремления к упрощению и комфорту. Зачем нужны в смартфонах камеры на 48 мегапикселей или телеэкраны с диагональю один метр? Я с этим несогласен и не воспринимаю этого. Хотя и признаю, что если писать серьёзные большие программы для современных устройств на моём макроассемблере для несуществующего процессора - ни одному программисту не хватит ни нервов, ни жизни на это.
Спасибо Вам большое!
Благодарю ❤🙏
Спасибо, познавательно.
Здравствуйте, а что за фильмы в ролике? 🧐 первый узнал это отроки во вселенной, а второй? Нашел. Через яд картинки. Точка точка запятая..😊
хотелось бы как нибудь увидеть от Вас разбор асинхронной природы C++. тема весьма сложная на первых порах. интересно как всё это работает под капотом, можно рассмотреть примеры с IO на poll, epoll, или Boost.Asio с корутинами из 20++
Вы очень классная!!!
Изучение всех этих редакторов это не подъём по лестнице, это сваливание с лестницы в начало и попытка подняться по новому.
вся жизнь это подъем по лестнице с постоянным падением вниз и известным исходом
Здравствуйте! Спасибо за ваши ролики! Сложно было осваивать Emacs? Есть какое-то лайфаки по быстрому освоению Emacs?
В приличном обществе за такой код канделябром бьют
А литкод за такое не банит?)
Нет)
Спасибо, очень понятно, хорошие аналогии и крутой "реальный" рендеринг как выглядит обучение.
Спасибо 😊.
Очень интересно, но ничего не понятно
😔😔😔
"Чем ближе крах империи, тем безумнее ее законы"
Спасибо. Зависимость одной функции от другой по сути
Потрясающе! С возвращением, Дарья!
Спасибо 😊.
@@DariaEmacs Дарья, приглашаю на интервью)
Да, но они занимают много оперативки, ведь перемещать значения надо (например, если будет размер массива 100000 и мы хотим удалить первый элемент, то надо будет перемещать 99999 элементов)
Можно его поменять местами с последним и сделать pop_back.
@@DariaEmacs эта техника, с pop_back() для вектора, известна ещё с 2000-х, в "Эффективном использовании STL" С. Майерса уже рекомендовалось её использовать для удаления элементов за константное время. А все эти идиомы бесполезный синтаксический сахар, с большим вопросом к производительности
wow!
Лучше не думать что за хрень написана, а просто сломать колени автору этого художества. Код пишут для людей и он должен быть легко читаем, а не ребусом который нужно разгадать 😂
Чукча - не читатель, чукча - писатель.
Нахера ты на Си++ пишешь, пиши на TypeScript. Си++ не для новичков!!!
Хороший совет самому себе 😉.
Спасибо за способ писать код. И + еще добавить отсутствие комментариев и какого либо описания 😂
Это не способ писать код. Это вопрос с собеседования, для того, чтобы узнать ваш уровень знания языка.
Где-то повесился один питонист.
Только один?
я ошибся, подумал что тут оператор ','
Это во всех компиляторах такое поведение??? Спрашиваю т.к был ровно аналогичный случай и в Релизе результат был ой как не такой.
Тогда у Вас был компилятор с ошибкой, отловите и зашлите патч. Он должен вести себя по стандарту: timsong-cpp.github.io/cppwp/n4659/basic.scope.declarative#2
За такие примеры кода в реальной жизни надо "загрызать".... и выдавать запрет на профессию.
🤣
Так переменные об'являют только студенты
Программа составлена с целью проверить Ваши знания, как вариант того, что у Вас спросят на собеседовании.
@@DariaEmacs Сам пример хороший)
Поэтому у нас в компании по рукам бы настучали за такую запись. Код должен быть в первую очередь удобным в чтении. Каждое объявление в новой строке. А ещё бы за перекрытие переменных одинкаовыми именами в догонку бы прилетело. )))
Это задачка с собеседования, вряд ли кто-то так будет писать код.
@@DariaEmacsЯ понимаю, но зачем ставить в собеседование заранее неприемлемые паттерны? Есть же достаточно потенциальных проблем в обычных казалось бы строках кода. Просто джуны будут сыпаться на таком, а оно нигде такое не делается.
@@andry_smith благодаря этому коду достаточно просто определить уровень знания языка у кандидата. Послушать его размышления о том, как работает этот код.
Начинать надо с древних книжек 90 или нулевых годов, потому что с тех пор такую кодовую базу на говнокодили что ее десятилетиями боятся трогать и с осторожностью поддерживают, какие там новые стандарты 11 или 17.... Старые ANSI и ISO еще не один жаваскрипт и прочий мэйнстрим переживут...
"жи".. это, конечно, жёстко
А надо было "же"?
Нужно было читать букву английского алфавита так, как она действительно произносится =) Это так.. на заметку. Никто не запрещает продолжать читать по-сельски
@@DariaEmacs джей
@@paranoiiik484 как бы нет, читается обычно, и, жи, ка, ijk, для тех, кто университет заканчивал. Это из математики пришло. Если у вас джей, значит, вы самоучка.
@@und3rwit нет, выше ответила
А почему амперсанд вначале около типа находится, а при выделении он прилепает к имени i, в таком случае логически понятно, что она является ссылкой на перемеенную с типом int, а j это просто переменная типа int. А вот, когда амперсанд приклеен к типу, почему надо понимать, что это не объявление двух ссылок на переменную с типом int, просто второй еще не присвоен адрес ) всегда это путает меня
Компилятору всё равно, а люди пишут и так и так. Просто нужно это понимать и держать в голове, когда читаешь код 😉.
Даже в ассемблере проще 🤔 Наверное...
Так ассемблер самый простой язык)).
@@DariaEmacs язык простой, но нужно знать устройство для которого код пишешь. 🤔 Хотя для меня и ассемблер сложно.
@@TheTalants , да, это точно
Можете, пожалуйста, поделиться источниками, ссылками на видео, чтобы побольше разобраться в этой теме
en.cppreference.com/w/cpp/language/bit_field Они пришли из языка Си, поэтому можно почитать в книге Кернигана и Ритчи.
Вроде и элементарно, но не тривиально.
Подобные задачки учат только одному... Тех, кто так пишет код в серьёзных проектах нужно п*****ь ссаными тряпками.
Да не пишут так код, это задания для собеседований. Они проверяют, Ваше понимание основ языка.
Ого! Как интересно и понятно Вы объясняете! Спасибо Вам огромное!
Спасибо))
О ! наконец то
Коротко о сути видео: Хотите изучить Английский язык? Сначала изучите китайский. После него вы легко сможете изучить любой другой язык так как китайский сложнее.
Ой сложно лучше на СВО поеду, там 200 тысяч платят!
Какая милая девушка😊
И вот зачем я это теперь умею? :)
😂
🎉🎉🎉
Одно странно....почему не упомянули книгу : - ОП на С++ Лафорэ ?
Про него отдельное видео было.
8:41 😅😅😅😅 Ржака !!! Спасибо , я вспомнил свое время в Академии с улыбкой . Так и было ++ )))))
Ххаахха😅😅😅 Прикольно! Я вас впервые вижу , но вы такая увлеченная прям программированием .
Спасибо 😊.
'Promosm'
для прохождения собеса достаточно понимания основных вещей: нотаций сложности и базовых принципов структур и главное как это все рализовано в языке на котором вы пишете. Условно в гуе чтоб он не получился мертвеньким, надо хешами активно манипулировать, но совать их везде и всюду не надо, нужен баланс между сложностью и скоростью. Реализацию за Вас легко напишет гпт, а также тесты и всю документацию. Всегда напоминайте ему что надо следовать принципам солид, велите ему по максимуму перепроверять самого себя и все пойдет как по маслу.
На с++ вряд-ли напишет, а так, да, со всем согласна.
🤔 надо взять на карандашик. Спасибо 🙏
А зачем было создавать класс? Языки с ООП явно разжижают мозги тем кто их использует.