@ProCxx

Страница 1022 из 2477
Andrei
28.06.2017
09:08:09
+
Срсли? Там весьма нетривиальное доказательство.

Simon
28.06.2017
09:08:38
а это зачем?
чтобы знать когда остановиться)

Google
Alexander
28.06.2017
09:08:54
Срсли? Там весьма нетривиальное доказательство.
а зачем мне доказательство? я просто смотрю в вики average complexity

Vladislav
28.06.2017
09:09:06
по моему это понимание и без CLRS читается на SO сразу же
ответа на SO хватит на понимание одного конкретного примера (вектор), а не общего принципа

дискуссия интересная, но я спать - 2 часа ночи(

Constantine
28.06.2017
09:09:34
Срсли? Там весьма нетривиальное доказательство.
Совершенно очевидно, что средняя высота дерева логарифм

Vladislav
28.06.2017
09:09:35
а зачем мне доказательство? я просто смотрю в вики average complexity
чтобы уметь в голове прикинуть время работы аналогичного алгоритма

Alexander
28.06.2017
09:09:35
дискуссия холиварная, и я буду настаивать на том, что большинству кодеров этих знаний просто не надо

Alik
28.06.2017
09:09:37
Мне не нравится наличие значения плохо
Тогда может посоветуете ваши шпаргалки?

Alexander
28.06.2017
09:09:48
чтобы уметь в голове прикинуть время работы аналогичного алгоритма
а вот в том то и едло, что это нафиг не сдалось многим

Alik
28.06.2017
09:09:52
Всё-таки если часто будешь использовать, то запомнишь, но всё же

Simon
28.06.2017
09:10:06
а зачем мне доказательство? я просто смотрю в вики average complexity
Так можно луучше понять что автор прав в оценке

Berkus
28.06.2017
09:10:07
Google
Alexander
28.06.2017
09:10:33
если надо будет разобраться и проверить - да, сяжду в математику разбираться

Andrei
28.06.2017
09:10:34
Совершенно очевидно, что средняя высота дерева логарифм
Это во-первых не очевидно, и скорее всего неправда, а во-вторых, будь это даже так где доказательство что квиксорт именно так поступает?

Vladislav
28.06.2017
09:10:40
а вот в том то и едло, что это нафиг не сдалось многим
программирование вообще не особо нужно многим

Antony
28.06.2017
09:10:41
Вот тебя я и ждал. Расскажи
https://yandex.ru/search/?text=виртуальные%20функции%20с%2B%2B

Alexander
28.06.2017
09:10:59
кодерам - вообще не надо, в отличии от инженеров
ну сейчас мы такую грань ещё проведём. Очень тонко идём

Simon
28.06.2017
09:11:07
Тогда может посоветуете ваши шпаргалки?
Просто нужно понимать специфику задачт

Alexander
28.06.2017
09:11:13
программирование вообще не особо нужно многим
кто-то должен сайтики делать. И это тоже програмисты

Simon
28.06.2017
09:11:25
Вот кормена почитать, напримернапример

Vladislav
28.06.2017
09:12:26
кто-то должен сайтики делать. И это тоже програмисты
я лично - против такого широкого термина "программист". Только путаницу вносит

Alexander
28.06.2017
09:12:55
я лично - против такого широкого термина "программист". Только путаницу вносит
ну тогда прдумай своё разграничение. Вскоре, вангую, таки разграничат. Но пока что мы имеем то, что имеем

Constantine
28.06.2017
09:13:22
Это во-первых не очевидно, и скорее всего неправда, а во-вторых, будь это даже так где доказательство что квиксорт именно так поступает?
Квиксорт очевидно строит случайное дерево, а случайно дерево очевидно имеет логарифмическую высоту хотя бы по форме чисел каталана

Alik
28.06.2017
09:14:01
Или я туплю? О.о

Vladislav
28.06.2017
09:14:57
просто пока все по-своему эти категории называют

Andrei
28.06.2017
09:15:12
Квиксорт очевидно строит случайное дерево, а случайно дерево очевидно имеет логарифмическую высоту хотя бы по форме чисел каталана
логарифмическая высота у бинарных деревьев только если они сбалансированны, куда вероятнее построить несбалансированное дерево. Так что случайно построенное бинарное дерево вовсе не факт что имеет логарифмическую высоту.

Alik
28.06.2017
09:15:33
А все, понял

Andrei
28.06.2017
09:15:51
Скорее всего даже наоборот. Чтобы аккуратно ответить на этот вопрос, надо посчитать матожидание выосты бинарного дерева.

Сильно сомневаюсь, что это будет функция от log(n)

Google
Alik
28.06.2017
09:16:19
Имеется ввиду дерево построенное на основе случайных данных

Andrei
28.06.2017
09:16:40
таки имеет, как раз в Кормене разбирается, кажется
Допускаю, но это надо очень аккуратно показать, и честно посчитать.

Alik
28.06.2017
09:17:46
Vladislav
28.06.2017
09:17:53
https://en.wikipedia.org/wiki/Random_binary_tree#The_longest_path

Alik
28.06.2017
09:18:44
... tree generated from a random insertion order.

Понял

Constantine
28.06.2017
09:19:28
Хотя с числами каталана я нагнал, видимо. Это другое распределение жи

Andrei
28.06.2017
09:20:20
Емнип Каталан — это проивзольные деревья, не только бинарные.

Vladislav
28.06.2017
09:20:20
https://en.wikipedia.org/wiki/Random_binary_tree#The_longest_path
это не про uniform distribution на бинарных деревьях, правда, но в qsort'е должно получаться именно такое же распределение

Andrei
28.06.2017
09:20:45
(()()())

отвечает вершине с тремя потомками

Constantine
28.06.2017
09:21:02
Короче с деревьями никаких подводных камней никогда

Как не генерь рандомом логарифм высоты)

Kirill
28.06.2017
09:21:41
всем привет, пытаюсь портировать прогу с мака на линукс, не совсем корректно работает, есть подозрения в этой штуке: template< class T > T& getData( T* ) { return *(T*)(&m_data); }, пробовал через reinterpret_cast, не помогло. как еще можно это преобразовать?

Andrei
28.06.2017
09:21:55
именно бинарные
Каталан бинарные с точностью до изоморфизма. Так что там гораздо меньше деревьев большой высоты.

Simon
28.06.2017
09:22:17
Как не генерь рандомом логарифм высоты)
Возрастабщая последовательность?)

Google
Simon
28.06.2017
09:23:01
Ноэто маловероятно на случайных

Andrei
28.06.2017
09:23:17
это не про uniform distribution на бинарных деревьях, правда, но в qsort'е должно получаться именно такое же распределение
Я бы предложил заглянуть в самого же Кормена чтобы посмотреть ка ктам оценивается сложность квиксорта (если там вообще есть)

Там правда не всё так просто.

Constantine
28.06.2017
09:23:42
Возрастабщая последовательность?)
Ну если я буду пихать случайную возрастающую последовательность, то да xD

Andrei
28.06.2017
09:24:39
Вы не можете гарантировать что случайный выбор на каждом подотрезке pivot-а в среднем действительно даёт нужную сложность. Все доказательства которые мне известны привлекают немного из теорвера.

Kirill
28.06.2017
09:24:45
Alik
28.06.2017
09:24:57
Как вариант можно попробовать скомпилировать разными компиляторами и проверить реузультат.

https://godbolt.org

Admin
ERROR: S client not available

Alik
28.06.2017
09:25:13
gcc?

Kirill
28.06.2017
09:25:21
пробовал на разных gcc & clang, результат одинаковый

Alik
28.06.2017
09:27:41
пробовал на разных gcc & clang, результат одинаковый
А если этот код отдельно взять? Если отрубить оптимизации?

Berkus
28.06.2017
09:29:35
Что именноты пытаешься сделать и как тестируешь

Kirill
28.06.2017
09:32:58
оптимизация -O0, можно попробовать отдельно просмотреть, просто контекст достаточно большой( в gdb просматриваю, есть негативные значения, которых быть не должно, подозрение на плохое кастование пока попробую действительно отдельные части прогнать, сложно все нюансы вам вытащить, чтобы понятнее было)

Berkus
28.06.2017
09:34:04
Ну вообще это должен быть реинтерпрет каст если ты эту область памяти пытаешься считать другим типом

https://github.com/berkus/libarsenal/blob/work/include/arsenal/byte_array.h я сделал возврат пойнтера который потом можно дерефнуть если надо см. as()

Google
Kirill
28.06.2017
09:38:57
ок, спасибо

Alik
28.06.2017
09:40:15
ок, спасибо
valgrind-ом ещё прочекай

Berkus
28.06.2017
09:40:35
Валгринд не нужен, есть asan

Alik
28.06.2017
09:40:53
Может где-то выходишь за пределы массива и т.п., memory corruption вообщем

https://github.com/google/sanitizers/blob/master/README.md круто

Evgeniy
28.06.2017
09:42:33
Валгринд не нужен, есть asan
у меня была ситуация когда валгринд не ловил

Валгринд не нужен, есть asan
но согласен, asan сначала лучше

Antony
28.06.2017
09:43:20
+1. valgrind хуже ловит, чем asan

Ecklory
28.06.2017
09:43:33
Валгринд не нужен, есть asan
Что ещё интересного есть? Помимо asan

Alexander
28.06.2017
09:43:53
asan + valgrind/dr memory теюе хватит. Есть ещё heaptrack

Antony
28.06.2017
09:43:59
см все санитайзеры :) Они все хороши

Ecklory
28.06.2017
09:44:28
Ну охренеть, давайте ещё!

Berkus
28.06.2017
09:44:46
С этими разберись сначала

Ecklory
28.06.2017
09:45:22
Evgeniy
28.06.2017
09:47:11
+1. valgrind хуже ловит, чем asan
но было и обратное

Antony
28.06.2017
09:51:17
но было и обратное
Давно? Я перу месяцев назад наталкивался на то, что валгринд не ловил. Версии санийтазеров и валгринда были сеженькие

Berkus
28.06.2017
09:51:23
в общем случае валгринд шумнее и больше false positives

Like
28.06.2017
09:51:38
@berkus я про гитхаб вчера говорил

Berkus
28.06.2017
09:51:47
если асан совсем не ловит, тогда можно провалгриндить

Страница 1022 из 2477