Глава 2.1 Т. Кормен Алгоритмы: построение и анализ

Поделиться
HTML-код
  • Опубликовано: 30 сен 2024
  • Аналог задачи 2.1.4 (третье издание, стр. 45)

Комментарии • 68

  • @DariaEmacs
    @DariaEmacs  4 года назад +7

    Поправка: я сказала множество 𝜡 (множество целых чисел), а правильнее сказать 𝜨 (множество натуральных чисел, это подмножество множества 𝜡).
    И ещё забыла фигурную скобочку после else { carry = 0; }

  • @АндрейТаранов-ь8э
    @АндрейТаранов-ь8э 7 месяцев назад +1

    для прохождения собеса достаточно понимания основных вещей: нотаций сложности и базовых принципов структур и главное как это все рализовано в языке на котором вы пишете. Условно в гуе чтоб он не получился мертвеньким, надо хешами активно манипулировать, но совать их везде и всюду не надо, нужен баланс между сложностью и скоростью. Реализацию за Вас легко напишет гпт, а также тесты и всю документацию. Всегда напоминайте ему что надо следовать принципам солид, велите ему по максимуму перепроверять самого себя и все пойдет как по маслу.

    • @DariaEmacs
      @DariaEmacs  7 месяцев назад

      На с++ вряд-ли напишет, а так, да, со всем согласна.

    • @Fox23-e2z
      @Fox23-e2z 4 месяца назад

      🤔 надо взять на карандашик. Спасибо 🙏

  • @Fox23-e2z
    @Fox23-e2z 4 месяца назад

    Здравствуйте, а что за фильмы в ролике? 🧐 первый узнал это отроки во вселенной, а второй? Нашел. Через яд картинки. Точка точка запятая..😊

  • @bromgeksin8150
    @bromgeksin8150 4 года назад +2

    Устал, выжали на работе как лимон! (. Посмотрел твоё видео и как огурчик, готов снова в "бой"!))

  • @michaelk268
    @michaelk268 4 года назад +1

    Может все таки TDD лучше чем бумажка и карандаш? или для новичков слишком сложно?

  • @alekdroid8598
    @alekdroid8598 4 года назад +3

    Как обычно, отличное видео! Юмор, интеллект и красота собрались в одном месте :)

  • @maxlevashov3855
    @maxlevashov3855 2 года назад +1

    Огромное спасибо, очень круто!

  • @Zibulechka
    @Zibulechka 4 года назад +1

    Здравствуйте, Дарья! Большое спасибо за Ваш труд! :) Подскажите, как часто Вы планируете выпускать видео по данной теме?

    • @DariaEmacs
      @DariaEmacs  4 года назад

      Здравствуйте, Мария :). Хотелось бы каждую пятницу в 20:00. Но это корректируется моей загруженностью...

  • @Asmaddeus
    @Asmaddeus 4 года назад +1

    Обожаю Ваши видео, Дарья! Спасибо огромное за труд и качественную подачу материала!

    • @DariaEmacs
      @DariaEmacs  4 года назад

      Спасибо, Asmaddeus!

  • @MadRedMarx
    @MadRedMarx Год назад

    Я как-то понял, что нахождение детерминанта матрицы методом вычёркивания - это факториальная сложность O(n!), и только в тот момент я осознал как над нами издевались на первом курсе =)

  • @gne4do
    @gne4do 4 года назад

    У вашего издания отлиное состояние, у моего скоро страницы начнут выпадать ))))

  • @ILoveSoImAlive
    @ILoveSoImAlive 4 года назад

    с моей точки зрения одна из главных "важняшек" для любого начинания. 👍
    невозможно понимать и уметь с ходу.
    начинать надо с того, что бы сотворить любые репрезентации тривиальных случаев, никак не расценивая их.
    а потом уже приоризировать, сортировать, двигать, крутить, менять местами, добавлять, вычёркивать, снова добавлять, снова менять местами.
    на много легче работать с реальными объектами которые можно увидеть, потрогать, покрутить, чем пытаться воссоздать реальность в деталях, в уме, который ещё не способен охватить именно эти детали данной реальности.
    невозможно попробовать яблоки, не взростив яблоню.
    понимание приходит с рутиной. (когда уже нейронные сети, от всех этих забав, всю эту канитель в голове смоделировали)

  • @dmitrysysoev6750
    @dmitrysysoev6750 3 года назад

    Супер, контент! Но что заметил: Математик программист почти всегда решает эту задачу делением по модулю на 10, инженер программист будет делать вычетанием 10

  • @aaa__0000
    @aaa__0000 4 года назад +3

    Весь день не мог дождаться:)

    • @DariaEmacs
      @DariaEmacs  4 года назад

      Спасибо 😊

    • @aaa__0000
      @aaa__0000 4 года назад

      @@DariaEmacs Вам спасибо!!! Отличное видео! С нетерпением жду продолжения!
      16:57 А что за библиотека такая?)

    • @DariaEmacs
      @DariaEmacs  4 года назад

      opencv

    • @aaa__0000
      @aaa__0000 4 года назад

      @@DariaEmacs Подскажите, пожалуйста, обновлялись ли Вы до Mac OS X 10.15? Я, к сожалению, да (черт меня дёрнул)... и столкнулся с большой бедой... С огромным количеством бед, начиная с того, что не работает wine, а мне постоянно надо использовать какие-то небольшие windows приложения, заканчивая проблемами с компиляцией проектов с OpenGL (как-то можно, конечно, выкрутиться, используя XCode, который я терпеть не могу) А linux мой "любимый" макбук вместе с os x не дает легально установить (через boot camp) - только windows((( Никогда раньше проблем не было, пока они от x86 архитектуры полностью не отказались - все ни как у людей!

    • @DariaEmacs
      @DariaEmacs  4 года назад +1

      Нет, не обновлялась.. Сейчас у меня 10.14. Тоже такое было, теперь я очень осторожно отношусь к обновлениям. ((

  • @Eugenij7
    @Eugenij7 4 года назад

    Лайк и комментарий для развития канала.

  • @avazart614
    @avazart614 4 года назад

    Первый раз слышу что пузырек где-то применялся интересно даже что за библиотека такая.

    • @damnboy1472
      @damnboy1472 3 года назад

      А ты можешь взять какой-нибудь крутой алгоритм, типо быстрая сортировка, неправильно выбрать pivot и у тебя будет скорость О n^2. Ты в курсе? И на почти отсортированном массиве можно применить и пузырёк, чтобы отследить незначительное изменение.

  • @UFO26
    @UFO26 4 года назад +1

    Дарья, а можно же без флажка обойтись:
    c[ i ] = a[ i ] + b[ i ];
    IF (i > 0 && c[ i ] > 9) {
    C[ i ] %= 10;
    C[i-1]++; //предыдущий элемент массива инкрементируем на +1 если это не первый элемент массива.
    } //else не надо

    • @DariaEmacs
      @DariaEmacs  4 года назад +1

      Можно:), но с флажком, для начала, понятнее.
      std::vector c (size1 + 1, 0);
      for(int i = a.size() - 1; i >= 0; --i){
      c[i+1] += a[i] + b[i];
      if(c[i+1] > 9){
      c[i+1] %= 10;
      c[i]++;
      }
      }

    • @UFO26
      @UFO26 4 года назад

      @@DariaEmacs я раньше на Delphi писал и в начале карьеры познания С++ что-то испугался векторов и приуныл. Решил написать свой. Потом списки попробовал, даже придумал свой список: по сути он двусвязный, но с серединой. т.е. список сам решает откуда ему лучше искать элемент: с головы, с хвоста или с середины. Если с середины, то в какую сторону: к голове бежать или к хвосту. Запилил тесты с моими списками, массивами против Си плюс плюшевого Vector и List. и снова приуныл )) но получил опыт в написании классов.
      Если есть доступ к ВК, вот фотка тестов:
      vk.com/im?sel=7839705&z=photo7839705_457242511%2Fmail247735

    • @DariaEmacs
      @DariaEmacs  4 года назад

      ВК есть, фотки - нет).

    • @UFO26
      @UFO26 4 года назад

      ​@@DariaEmacs тогда Яндекс-диск:
      yadi.sk/i/oYVcFjybHauqEA
      [0] - это моя версия вектора
      [1] - мой односвязный список (head)
      [2] - мой двусвязный список (head / tail)
      [3] - мой двусвязный++ с серединой (head / middle / tail)
      [4] - std::Vector
      [5] - std::List
      далее вызываю по 100к раз различные функции каждого класса и сравниваю по скорости. Вектор меня ушатал, открывал исходники вектора, смотрел как на новые ворота, не понял как они такой скорости добились ))

    • @DariaEmacs
      @DariaEmacs  4 года назад

      👍 на то они и мастера писать библиотеки).

  • @BobiBobObana
    @BobiBobObana 4 года назад

    Не работает для отрицательных чисел. Так что область Z не закрасится

    • @DariaEmacs
      @DariaEmacs  4 года назад

      Да, точно, опечаталась, надо было N, а не Z рисовать:).

  • @timoraivonen1848
    @timoraivonen1848 4 года назад

    Видео - просто супер, жду продолжения!

  • @teastrum
    @teastrum 4 года назад

    Вы спасительница

  • @DmitryDolganov
    @DmitryDolganov 4 года назад

    Спасибо, солнце!!!

  • @Loky236
    @Loky236 4 года назад

    Лучше по этой книге алгоритмы изучать или по 3 томам Рафгардена "Совершенный алгоритм"?

    • @DariaEmacs
      @DariaEmacs  4 года назад

      Кормен сложнее и полнее, с Рафгардена можно начать.

    • @Loky236
      @Loky236 4 года назад

      @@DariaEmacs Спасибо за ответ, Дарья.

  • @cyrilanisimov
    @cyrilanisimov 4 года назад

    Обожаю)

  • @avazart614
    @avazart614 4 года назад

    Сразу же напрашивался хранить числа "наоборот" в векторе и обходить легче и добавлять разряд можно.

    • @DariaEmacs
      @DariaEmacs  4 года назад

      Хорошая идея! 👍

    • @avazart614
      @avazart614 4 года назад

      @@DariaEmacs Вообще это задача по сути на "длинную арифметику". Так что можно ее развивать и дальше на другие операции + оптимизация.

  • @UFO26
    @UFO26 4 года назад

    Гутен Таг, Дарья. Я года 1,5 изучаю С++ и с недавних пор SFML.
    Перерыл весь гугл не нашёл искомую информацию. Подскажите пожалуйста какие слова надо гуглить, чтобы найти информацию о столкновении кругов. Я хочу сделать физику как с икринками кильки. сталкиваются два кружка, один массивный, другой лёгенький, массивный давит на лёгкий и деформирует круг. т.е. с одного бока он получается впуклый. Как сделать чтобы они не проходили сквозь друг друга я вроде как понял.
    Аве, Дарья!
    Аве, С++ !

    • @DariaEmacs
      @DariaEmacs  4 года назад +1

      Может быть, это Вам подаст идею:).
      2D Elastic Collision with SFML : stackoverflow.com/questions/31620730/2d-elastic-collision-with-sfml

    • @UFO26
      @UFO26 4 года назад

      ​@@DariaEmacs ой, двух этажные формулы(( спасибо, буду изучать. Мои шарики летают без таких страшных формул:
      yadi.sk/i/Vsi3AIV80bQDNg

    • @DariaEmacs
      @DariaEmacs  4 года назад

      Так это не полет, а формулы эластичного столкновения).

  • @this622
    @this622 2 года назад

    Есть же ответы на упражнееия от самого автора

    • @eldarbilyalov8350
      @eldarbilyalov8350 7 месяцев назад

      Можете дать ссылку?

    • @this622
      @this622 7 месяцев назад

      @@eldarbilyalov8350 пиши в гугл: cormen algorithms solution

  • @egorkomarov4719
    @egorkomarov4719 4 года назад

    очень хороший контент

    • @avazart614
      @avazart614 4 года назад

      Откуда тебе знать если фронтенды лепишь какие там алгоритмы ?

    • @DariaEmacs
      @DariaEmacs  4 года назад

      Avazart, а зачем Вы хамите? Не Вам решать, чем интересоваться Егору.

    • @avazart614
      @avazart614 4 года назад

      @@DariaEmacs К тому что комментарий не искренний учитывая его любовь к алгоритмам и структурам данных и тому что он своим подписчикам советует на канале насчет этого.
      Да и есть своя история, чего скрывать.

    • @DariaEmacs
      @DariaEmacs  4 года назад

      У Егора нет на канале ни одного видео.

    • @egorkomarov4719
      @egorkomarov4719 4 года назад

      @@DariaEmacs ❤️

  • @ТимурАбдулов
    @ТимурАбдулов 4 года назад

    Паранарамиравание дело такое я вот Давече решил сделать программу рисовать Точки трехугольники и Линиии 6500+ строк кода И конца края не видать пока что ахахахах