
Stanislav
03.06.2017
16:36:32

Alexander
03.06.2017
16:37:01
их полно. А мартышкину работу мне делать лично лень. Если ты сделаешь - дело твоё. А я этих бенчей уже насмотерлся, спасибо
не помню, мб даже на cpp-sort есть этот бенч

Constantine
03.06.2017
16:38:16
ну, в моей текущей вселенной timsort это сам по себе мартышкин труд :)

Google

Alexander
03.06.2017
16:39:41
но это уже дело твоё.

Constantine
03.06.2017
16:40:53
потому что я много разной информации в гугле читал, и по статистике 90% авторов этой инфы попросту не разбираются, что пишут
это безумно заметно, когда начинаешь читать инфу по темам, в которых реально разобрался

Alexander
03.06.2017
16:42:23
и вот что-то мне лично ни разу не попадались бестолковые бумаги

Constantine
03.06.2017
16:42:52
https://arxiv.org/pdf/1705.11035.pdf

Alexander
03.06.2017
16:43:28
http://playfulprogramming.blogspot.com.by/2017/06/constexpr-quicksort-in-c17.html

Constantine
03.06.2017
16:43:50
тестом размером 9 опровергли работу D. P. Dobkin, L. Snyder, 1979

Alexander
03.06.2017
16:44:24

Constantine
03.06.2017
16:46:18
просто в практической области оригинальную работу 1993 года читать странно
процессоры по-другому работали)

Google

Constantine
03.06.2017
16:47:01
а всякие статьи "мы тут пореализовывали методы" пишет обычно нубло

Alexander
03.06.2017
16:47:38
а можно пример такой статьи?

Constantine
03.06.2017
16:48:14
http://webcache.googleusercontent.com/search?q=cache:lMk9YY-awqsJ:www.cccg.ca/proceedings/2003/26.ps+&cd=3&hl=en&ct=clnk&gl=ru

Alexander
03.06.2017
16:48:15
не вижу ничего плохого в том, что кто-то что-то реализует, чего ещё нет и что можно скопировать себе в случае необходимости (поправка - карйне желательно, чтобы чуваки писали это верно)

Constantine
03.06.2017
16:49:20

Alexander
03.06.2017
16:49:33
как отправная точка при выборе алгоритмов - пойдёт. Но безоговорочно я бы полагаться на такую работу наверное не стал бы

Constantine
03.06.2017
16:49:34
хотя метод реализовывали

Alexander
03.06.2017
16:49:45

Constantine
03.06.2017
16:51:18
бывает со всеми
или забыли вообще перепроверить все доказательства в работе :)

Alexander
03.06.2017
16:51:56
они понадеялись на гарантии, гарантии не выполнились, получили неверный результат. Прям как STL

Constantine
03.06.2017
16:57:42
кстати, а есть специалисты? я слышал краем уха, что структуры типа set<int> реализуемы с log log, что там с константами

Alexander
03.06.2017
16:59:08
крайне спецефичны, и поэтому как обобщённое решение не подходит
насколько я знаю, красно-чёрное нельяза разогнать до log log
также я не слышал о различных таких модификациях для сплей, АВЛ, декартовых и иных деревьев

Constantine
03.06.2017
17:00:29
там важно, что int, разумеется нельзя разогнать красно-черное
потому что есть порог сортировки n * log n
фигня в том, что если std::sort не устраивает, то timsort это как раз попытка специфичного решения

Google

Alexander
03.06.2017
17:02:20

Constantine
03.06.2017
17:02:35
да, я уже нашел его
не успел прочитать

Alexander
03.06.2017
17:03:04
но как ещё одна очень хорошая альтернатива. Если ты знаешь, что данные в целом неплохо так сорированы, то почему не воспользоваться гтовым годным алгоритмом уже?

Constantine
03.06.2017
17:04:06
вообще я в свое время изучал вопрос о поведении декартовых (любых подобных merge-based) деревьев на недосортированных массивах... пытаюсь вспомнить судорожно

Vladislav
03.06.2017
17:04:09

Constantine
03.06.2017
17:04:21
Да, я это уже сказал)

Alexander
03.06.2017
17:04:29
про общий я то знаю

Constantine
03.06.2017
17:04:59
Слава, что ты думаешь о timsort? Ну, кроме того, что из-за него на КФ нельзя яву положить на объектах :D

Vladislav
03.06.2017
17:08:29

Alexander
03.06.2017
17:09:10

Constantine
03.06.2017
17:09:23
по крайней мере, была

Vladislav
03.06.2017
17:09:36

Alexander
03.06.2017
17:09:39

Constantine
03.06.2017
17:09:50
потому что разработчики явы не запарились

Alexander
03.06.2017
17:09:56
я знаю, что там говно акое-то написано (как и в libc++)

Google

Constantine
03.06.2017
17:10:03
поэтому же у них все хеш-коллекции ложатся в худшем

Alexander
03.06.2017
17:10:37

Vladislav
03.06.2017
17:10:49
да-да. А почему?
Потому что не хотели вносить недетерминизм, а гарантированные методы выбирать хороший pivot замедляют средний случай

Constantine
03.06.2017
17:11:18
сейчас бы париться по поводу недетерминизма алгоритма сортировки массива
это вообще никак не замедляет средний случай

Vladislav
03.06.2017
17:12:56

Admin
ERROR: S client not available

Vladislav
03.06.2017
17:13:18
https://www.reddit.com/r/programming/comments/4jlkhv/accu_2016_keynote_by_andrei_alexandrescu/

Constantine
03.06.2017
17:13:58

Vladislav
03.06.2017
17:14:00

Constantine
03.06.2017
17:14:59
Александреску... у меня до сих пор в одном файле написано
`
#ifdef ALEXANDRESCU
#error "Too easy for Alexanrescu"
#endif
//копипаста из локи
собственно, там static_assert всякие для C++98
А, я понял о чем ты, так можно наверное
qsort(l, r)
//...
qsort(l, m);
qsort(m+1, r);
==>
qsort(l, r)
for (iterations++)
{
//...
if (iterations > MAGIC_CONSTANT) { heapsort(l, r); break; }
qsort(with minimal length ((l, m), (m+1, r)))
(l, r) = with maximal length ((l, m), (m+1, r))
}

Будда
03.06.2017
17:19:32
magic constant? ?

Constantine
03.06.2017
17:19:43
ну да
вроде там на самом деле
current_constant = r - l;
и потом current_constant = current_constant / 2 + current_constant/4
в таком духе
вместо расчета итераций

Google

Constantine
03.06.2017
17:21:19
как получается 0 - уходим в хипсорт

Будда
03.06.2017
17:21:20
А кто название давал?

Constantine
03.06.2017
17:21:34
я просто налобал в поле ввода же
вроде, именно такие схемы во всяких MS std::sort
с кучей ифов еще на маленькие массивы скидываться в INSERTION
Там нужно примерно посчитать, сколько в среднем должно быть итераций такой штуки
Если это число превосходится, инпут специально построен против текущей реализации qsort
Поэтому мы уходим в heapsort

Ilya
03.06.2017
20:18:59
Люди, у меня например есть строка 2 + 2 и мне нужно её сплитнуть. Как это сделать?

Stanislav
03.06.2017
20:19:49

Group Butler [beta]
03.06.2017
20:19:49

Surreal
03.06.2017
20:20:22

Александр
03.06.2017
20:22:17
eval

melancholiac
03.06.2017
20:25:35
в спп есть евал?
(в спп есть все)

Stanislav
03.06.2017
20:32:17
можно и сделать

Andrei
03.06.2017
20:53:08

Dima
03.06.2017
21:08:55
Кажется чатик помер давно
А нет, у меня сбилась дата. (Показал январь 3)