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

Alexander
28.06.2017
09:08:32

Simon
28.06.2017
09:08:38

Constantine
28.06.2017
09:08:51

Google

Alexander
28.06.2017
09:08:54

Vladislav
28.06.2017
09:09:06
дискуссия интересная, но я спать - 2 часа ночи(

Constantine
28.06.2017
09:09:34

Vladislav
28.06.2017
09:09:35

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

Berkus
28.06.2017
09:10:07

Alexander
28.06.2017
09:10:15

Vladislav
28.06.2017
09:10:22

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

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)

Vladislav
28.06.2017
09:16:15

Google

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

Andrei
28.06.2017
09:16:40

Constantine
28.06.2017
09:16:59

Andrei
28.06.2017
09:17:08

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

Vladislav
28.06.2017
09:20:32

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
Там правда не всё так просто.

Constantine
28.06.2017
09:23:42

Alik
28.06.2017
09:23:57

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, результат одинаковый

Andrei
28.06.2017
09:25:38

Alik
28.06.2017
09:27:41

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

Alik
28.06.2017
09:31:45

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

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

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

Ecklory
28.06.2017
09:43:33

Berkus
28.06.2017
09:43:47

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

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
если асан совсем не ловит, тогда можно провалгриндить