Skip to content

first commit#4

Open
Barrakuda8 wants to merge 1 commit into
mainfrom
lesson4
Open

first commit#4
Barrakuda8 wants to merge 1 commit into
mainfrom
lesson4

Conversation

@Barrakuda8

Copy link
Copy Markdown
Owner

No description provided.

Comment thread task1.py
# Оказывается list comprehension работает медленнее обычного цикла, интересно.
# Оптимизированный вариант - func_4. По сути я просто совместил индексы и элементы от индексов в enumerate объекте,
# что видимо ускорило работу, потому что каждый раз находить элемент по индексу дольше, чем один раз использовать
# enumerate().

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Даниил. "Оказывается list comprehension работает медленнее обычного цикла, интересно."
они быстрее
вы неверно сделали замеры

Comment thread task1.py
return new_arr


print(timeit("func_1([1, 3, 1, 3, 4, 5, 1])", globals=globals()))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[1, 3, 1, 3, 4, 5, 1] - на таких массивах вы не получите объективные цифры
создайте массив из миллиона элементов и сравните

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[1, 3, 1, 3, 4, 5, 1] - на таких массивах вы не получите объективные цифры
создайте массив из миллиона элементов и сравните

Хорошо, что на уроке об этом говорилось. Ах да, не говорилось. Я пробовал на массиве побольше, но не настолько

Comment thread task2.py
# Но в контексте 10000 повторений одной и той же рекурсии с одним и тем же входным числом (!!!),
# мемоизация становится незаменима, потому что по сути рекурсия работает 1 раз, а потом все данные берутся из кэша.
# Отсюда при замерах и создаётся ощущение, что мемоизация помогает. На самом деле это обманка.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выполнено

Comment thread task3.py
print(timeit('revers_3(1234567890)', globals=globals()))
print(timeit('reverse_4(1234567890)', globals=globals()))
print(timeit('reverse_5(1234567890)', globals=globals()))
run('revers_1(1234567890)')

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выполнено

Comment thread task4.py

print(timeit('func_1()', globals=globals()))
print(timeit('func_2()', globals=globals()))
print(timeit('func_3()', globals=globals())) No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выполнено

Comment thread task5.py
и сделайте обоснование результатам.
"""

# Сложность обоих алгоритмов - O(n^2)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

у Решета другая сложность
посмотрите описание сложности в статье
У Решета с ростом n растет скорость очень существенно

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

у Решета другая сложность
посмотрите описание сложности в статье
У Решета с ростом n растет скорость очень существенно

Какая же там тогда сложность? Как бы, у simple тоже сложность по факту не n^2, но найти в интернете я ничего на эту тему не смог, а на занятии об этом не говорилось.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants