Bogdan
хахха
Алсу
Жуть
Dima
Dima
Вот такие пропуски не даёт питон
Алсу
Как уродливо
Dima
В рамках одного блока ;()
Dima
Как уродливо
Это вам не автотесты, простите ;(
Dima
Это не питон
Я привел пример, у меня к сожалению стек на джаве/коте
Andrii
В питоне нет фигурных скобок,
Dima
Но в питоне идёт все в сплошную, я об этом
Dima
В питоне нет фигурных скобок,
Я привел пример что не разделить на блоки визуально для читаемости ;(
Andrii
Но в питоне идёт все в сплошную, я об этом
Нет. Приведи кот, которые не работает.
Апач
Они нужны в таких глубоких дебрях, до которых обычные челики не доходят
Dima
Нет. Приведи кот, которые не работает.
Ну ты же вот так не напишешь на питухе, верно? def ololo(): command1 command2 command3 command4 Визуально в рамках одного метода это удобно если метод имеет сложные вычисления завязанные на одном действии.
Dima
Можно
Иде ругалась ;( ну я не буду спорить я же говорю 2 часа доку почитал и убрал в дальний ящик :D
Dima
Они нужны в таких глубоких дебрях, до которых обычные челики не доходят
Тогда нужно срочно обзвонить всех тимлидов и сказать что бы на собесах не давали задачки на пузырьковую сортировку :D
Dima
они больше в универе нужны чем работе
На собесах спрашивают же. Да и понимать как работает сортировка - вреда не будет от этого
Bogdan
у меня не спрашивали
Dima
так это алгоритм детского сада
Ну речь шла про любые алгоритмы я имел ввиду в общем всю базу. А теперь прикинь есть фронты не знающие даже такую базу.
Bogdan
да и нафиг она надо
Dima
у меня не спрашивали
Тебе повезло получается.
Bogdan
когда есть quick sort
Andrii
Иде ругалась ;( ну я не буду спорить я же говорю 2 часа доку почитал и убрал в дальний ящик :D
$ cat test.py def ololo(): print("command1") print("command2") print("command3") print("command4") ololo() $ python test.py command1 command2 command3 command4 Скорее всего надо было прочитать, что пишет IDE... Пустые строки настолько часты для Python, что этого просто не может быть. Посмотрел бы хоть на какой-нить исходник... Я понимаю, чукча не читатель, чукча писатель...
Bogdan
и более продвинутые алгоритмы сортировки
Andrii
когда есть quick sort
Ну... ещё есть стабильная сортировка... Не всегда quick будет стабильной
Bogdan
но в большинстве задач достаточно quick sort-а
Andrii
есть
Ну и radix сортировка за O(1)
Bogdan
а вообще есть sort встроенный в коллекции
Bogdan
и вручную сортировку пишут раз в 5-ти летку
Andrii
но в большинстве задач достаточно quick sort-а
Ну... я писал сортировка вставками, потому что надо было сортировать много раз небольшие массивы (списки ходов)
Апач
мерджи - быстро
Dima
мне и не давали ни на одном собесе
Значит мне одному на повезло, получал на двух собесах задачи, на одном получил оффер, на втором после отправки задания понял что неверно решил тест но там не алгоритмы были офк.
Andrii
не вставками это долго
У тебя не будет больше 20 ходов обычно, плюс на прошлых итерациях массив уже был сортировался и скорее всего там не будет много изменений
Dima
мерджи - быстро
Через разделение рекурсией? Она вроде самая быстрая.
Andrii
Bogdan
Самая быстрая всегда есть условия
быстрая та, что лучше всего подходит к конкретной задачи
Andrii
Даже в быстрой сортировке, когда остаются куски небольшого размера, обычно они сортируются чем-то попроще. Ибо там уже не показатель степени играет роль, а множитель
Dima
Самая быстрая всегда есть условия
Ну исходя из растущего времени выполнения в пропорциональном росте размера массива.
Bogdan
public void Sort() { for (int i = 1; i < _array.Length; i++) { int k = _array[i]; int j = i - 1; while (j >= 0 && _array[j] > k) { _array[j + 1] = _array[j]; j--; } _array[j+1] = k; } } типо вот сортировка вставками и типо я не знаю задач где она окажется самым оптимальным алгоритмом сортировки
Dima
быстрая та, что лучше всего подходит к конкретной задачи
Алгоритм всегда оценивается из максимально возможных единиц в массиве
Dima
Это по классике ^
Bogdan
Небольшие массивы, которые склонны быть уже отсортированными
ну хотя да если массив уже частично отсортирован то может она оказаться удачным выбором
Bogdan
но полная сортировка вставками юзлесс
Апач
Через разделение рекурсией? Она вроде самая быстрая.
нет самой быстрой сортировки вообще
Andrii
ну хотя да если массив уже частично отсортирован то может она оказаться удачным выбором
Я же говорю, сортировка ходов в логических играх. Если ты просчитал варианты чуть глубже, и тебе надо пересортировать ходы по силе, то врядли лучший ход станет вдруг худшим
Bogdan
хм возможно я просто реализовывал сортировку вставками только для универа и шараги
Bogdan
типо в реальных проектах есть встроенный sort
Bogdan
который полностью справляется со своей задачей
Dima
На беке руками то вообще не сортируют разве ?
Bogdan
а зачем
Andrii
который полностью справляется со своей задачей
Вот я же говорю, у меня встроенный sort не справлялся с задачей.
Bogdan
можно столкнуться с задачей где встроенные алгоритмы сортировки будут не оптимальные, но таких задач намного меньше чем наоборот
Andrii
Смотря где... Просто если брать бэк, то там в общем-то оптимальный код понятие условное, тормоза то чаще в базе
Bogdan
опять же все впирается в задание, нет лучшего или худшего алгоритма
Bogdan
Значит кроме как list.sort ты больше ничего не юзал никогда?
на бэке нет, а так я знаю алгоритмы сортировки
Bogdan
в шарпе полно всяких sortedlist и тд
Andrii
В бэке важнее, чтобы легко можно было поднять новый инстанс
Bogdan
тут нет необходимости изголяться и писать quicksort вручную
Bogdan
бля но кормена все равно хочу почитать, слишком шикарная книга по алгоритмам
Andrii
На фронте тоже, никто туда high performance пихать не будет
Bogdan
ещё конечно надо Gof почитать
Andrii
бля но кормена все равно хочу почитать, слишком шикарная книга по алгоритмам
Почему шикарная, если не читал? Меня не впечатлило :)
Bogdan
а то я в основном лентяй читать книги и паттерны читал на Refactoring Guru и тд
Bogdan
Почему шикарная, если не читал? Меня не впечатлило :)
ну потому что мне рекомендуют почитать
Bogdan
все
Bogdan
как лучшую книгу по алгоритмам