Спасибо большое за ролик! Немного жаль что речь не шла про асинтотику памяти, но не сильно важно. А то по аналогии просто можно сделать вывод, чем больше мы capacity сделаем, тем круче, ведь тебе будем переслздавать массив, но тогда больше шанс на неиспользованную память. Также жду когда на канал вернётся видео про до, там же тоже можно в несколько серий сделать, про до, про ленивые обновления, про ндо, пдо и другие. Хотя про просто до очень хотелось бы видеть видео
Добрый день. neetcode.io/problems/dynamicArray Более сложные задачи на реализацию vector были в курсах «Красный пояс по C++» и «Чёрный пояс по C++» на Coursera, но сейчас эти курсы там недоступны.
Почему на 5:14 в самом начале выполнилось 10 елементарных операций если тогда elementCount был 0 и цикл for в reserve не сделал не одну операцию? Не правильнее будет в push_back вставить ops+=capacity перед вызова reserve чтобы не брать в расчет последние 10 ячеек которые не будут участвовать в цикле for?
Сложность оператора new[] в общем случае линейна относительно количества выделяемых ячеек. Так что здесь мы учитываем не столько операции копирования, сколько операции выделения новой памяти. Впрочем, вы можете модифицировать этот вспомогательный подсчёт так, как считаете более правильным. Ожидается, что в конце вы придёте к тем же выводам о сложности push_back() при разных способах увеличения размера массива.
Мне очень повезло найти Ваш канал, спасибо!
Спасибо большое за ролик! Немного жаль что речь не шла про асинтотику памяти, но не сильно важно. А то по аналогии просто можно сделать вывод, чем больше мы capacity сделаем, тем круче, ведь тебе будем переслздавать массив, но тогда больше шанс на неиспользованную память. Также жду когда на канал вернётся видео про до, там же тоже можно в несколько серий сделать, про до, про ленивые обновления, про ндо, пдо и другие. Хотя про просто до очень хотелось бы видеть видео
Здравствуйте, а нет ли у вас задач для практики этих структура данных где-нибудь? Спасибо.
Добрый день. neetcode.io/problems/dynamicArray
Более сложные задачи на реализацию vector были в курсах «Красный пояс по C++» и «Чёрный пояс по C++» на Coursera, но сейчас эти курсы там недоступны.
классссссссссссс
Почему на 5:14 в самом начале выполнилось 10 елементарных операций если тогда elementCount был 0 и цикл for в reserve не сделал не одну операцию? Не правильнее будет в push_back вставить ops+=capacity перед вызова reserve чтобы не брать в расчет последние 10 ячеек которые не будут участвовать в цикле for?
Сложность оператора new[] в общем случае линейна относительно количества выделяемых ячеек. Так что здесь мы учитываем не столько операции копирования, сколько операции выделения новой памяти.
Впрочем, вы можете модифицировать этот вспомогательный подсчёт так, как считаете более правильным. Ожидается, что в конце вы придёте к тем же выводам о сложности push_back() при разных способах увеличения размера массива.
@@op_ulstu спасибо за объяснение)