@ru_python

Страница 2658 из 9768
Nikolay
10.04.2017
09:11:11
ты делаешь heapify на листе и потом с ним можешь работать, как с деревом

но если тебе надо брать top 50 - ты не делаешь lst[:50], а делаешь heapq.nlargest(50)

Aragaer
10.04.2017
09:12:02
взять первые 50 элементов, отсортировать. Взять 51-й и вставить его в этот массив, вытеснив то, что не поместилось. Продолжать до конца массива

Google
Artem
10.04.2017
09:12:22
Хипифай построит хип для всего массива входного

Маришка
10.04.2017
09:12:33
Утро доброе

Artem
10.04.2017
09:12:36
И таки да, еще 50*log n

Nikolay
10.04.2017
09:12:45
В этом случае у тебя будет nlogn
да, все так. Но причем тут лист?

Aragaer
10.04.2017
09:13:13
что именно не верно? Да, 51-й может сразу оказаться в конце, поэтому сразу будет вытеснен

Artem
10.04.2017
09:13:17
При том что я говорю о хипе размера 50, и после прохода им по большому массиву весь он - это результат

Aragaer
10.04.2017
09:13:33
n log 50 получается

Artem
10.04.2017
09:13:40
Да)

Artem
10.04.2017
09:14:23
Nikolay
10.04.2017
09:14:34
если у тебя повторные значения находятся больше, чем в 50 значениях друг от друга

Google
Artem
10.04.2017
09:14:50
Так

Николай

Я знаю, ты умный

Nikolay
10.04.2017
09:15:01
Артем, не тупи

Artem
10.04.2017
09:15:01
Ты просто сейчас тупишь

Расскажи, как ты понял, что я хочу сделать

Nikolay
10.04.2017
09:15:17
если у тебя 100500 ....(50 значений) ....100500

Artem
10.04.2017
09:15:18
Скорее всего ты неправильно понял

Nikolay
10.04.2017
09:15:32
то при вставке в цикле у тебя потеряется первое значение

Artem
10.04.2017
09:15:41
Как оно потеряется

Nikolay
10.04.2017
09:15:46
несмотря на то, что дальше могут быть сплошные 100500

Artem
10.04.2017
09:15:50
50 значений - это что?

Nikolay
10.04.2017
09:16:07
Как оно потеряется
потеряется, если ты в куче держишь ровно 50 значений и не больше

и я вообще не тебе отвечал, а Арагаеру на его реализацию :)

Artem
10.04.2017
09:16:22
а 50 каких значений я держу в куче?

Artem
10.04.2017
09:17:10
ну это не хип но работать будет не хуже просто дольше

и как у тебя что вытеснится?

Nikolay
10.04.2017
09:17:48
OMG

Google
Nikolay
10.04.2017
09:17:53
ну подумай внимательно

представь, что тебе надо топ 3 посчитать

Artem
10.04.2017
09:18:04
чел

ты учишь детей

я понимаю

у тебя деформация

Nikolay
10.04.2017
09:18:13
а на входе у тебя массив 10 1 2 3 4 5 10 10 10 10

Artem
10.04.2017
09:18:16
ты считаешь, что ты не можешь быть неправ

но ты можешь быть неправ

честное слово

сейчас ты не прав

Nikolay
10.04.2017
09:18:30
ты вникни, а не пиши херню :)

Nikolay
10.04.2017
09:18:37
вот посмотри на пример мой

Artem
10.04.2017
09:18:39
ты либо решаешь не ту задачу

пример

и чо

Nikolay
10.04.2017
09:18:48
допустим, у тебя heapq размера 3

Artem
10.04.2017
09:18:54
да

Nikolay
10.04.2017
09:19:00
ты в него вставляешь данные по порядку

Artem
10.04.2017
09:19:10
там будет 10 1 2 10 2 3 10 3 4 10 4 5 10 10 5 10 10 10

Google
Nikolay
10.04.2017
09:19:32
ну возьми не 3, а 5, хорошо

Artem
10.04.2017
09:20:08
тебе напечатать еще раз вот этот столбик но про 5 значений?

или ты его прочитаешь и поймешь?

Nikolay
10.04.2017
09:20:58
погоди, думаю :) мог неправильный пример привести

я прям точно уверен, что есть вариант, когда такой подход не работает

Artem
10.04.2017
09:21:43
потому что ты подсознательно думаешь не о той задаче

ты думаешь о задаче подсчитать наиболее часто встречающиеся элементы

Admin
ERROR: S client not available

Artem
10.04.2017
09:22:01
а не максимальные

все, что ты говоришь, относится к ней

Nikolay
10.04.2017
09:22:25
хорошо, сдаюсь, возможно, ты прав

извини

давай теперь про сложность

Artem
10.04.2017
09:25:22
давай

Nikolay
10.04.2017
09:25:24
каждая вставка - log n

Artem
10.04.2017
09:25:35
где n размер хипа

в нашем случае 50

Nikolay
10.04.2017
09:25:47
да

так что будет m log 50

Artem
10.04.2017
09:26:25
где m размер изначального массива

Google
Artem
10.04.2017
09:26:26
да

все так)

Nikolay
10.04.2017
09:26:42
ништяк

Artem
10.04.2017
09:27:05
а вот в варианте Argaer вставка за n, потому что там не хип, а массив

поэтому там будет 50m

Mikhail
10.04.2017
09:27:55
Какой домен считаете красивее?

Маришка
10.04.2017
09:29:59
Это такая реклама сразу трех сайтов?

Archer
10.04.2017
09:30:12
4-х

Mikhail
10.04.2017
09:30:38
Эх, если бы

Lulz
10.04.2017
09:31:01
Какой домен считаете красивее?
чем короче домен тем лучше воспринимается, ну и .ru больше доверяют чем какому-нибудь .su знаю, звучит бредово НО Я ЧИТАЛ ПРО ЭТО !111

Aragaer
10.04.2017
09:35:29
ну heap или массив для хранения "топ 50" это уже детали - да, надо выбирать что-то такое, чтобы вставка и сохранением сортировки была максимально быстрой

Spacehug
10.04.2017
09:35:45
Блядь я просто стикеры смотрел, оно само отправилось, честное слово!

Михаил / M 3 Note / OnePlus 3
10.04.2017
09:39:07


Страница 2658 из 9768