Если вы используете рекурсивную функцию, которая порождает несколько вызовов, время выполнения часто (хотя и не всегда) имеет вид O(ветвиглубина), где ветви — количество ветвлений при каждом рекурсивном вызове. В нашем примере получается O(2N).
Anton Williamshas quoted4 years ago
Полезный практический совет: когда вы встречаете задачу, в которой количество элементов последовательно делится надвое, скорее всего, время выполнения составит O(log N).
Anton Williamshas quoted4 years ago
«Расскажите о самой серьезной ошибке, с которой вы столкнулись в работе»
Anton Williamshas quoted4 years ago
«Я всегда использовал программное обеспечение Microsoft и действительно впечатлен тем, как Microsoft удается создавать превосходные программные продукты. Например, я использовал Visual Studio для программирования игр, а API просто превосходны». Покажите свою страсть к технологии!
Anton Williamshas quoted4 years ago
CLRS (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein) — Introduction to Algorithms (Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. Алгоритмы. Построение и анализ) — популярнейшая книга по алгоритмам и структурам данных.
Anton Williamshas quoted4 years ago
Он изучил классический учебник Кернигана и Ричи, он прочитал CLRS1. Он может описать в подробностях множество способов балансировки дерева