LINUX.ORG.RU

Вопрос по коду

 


1

3

Есть вот код который считает кол-во повторений слов из файла и пишет результат в файл вопрос почему долго выполняется? https://www.dropbox.com/sh/bjo8wlqs6tlfh1s/AABJi7XBW02Z9RTPNKdjh5GMa?dl=0

Перемещено leave из general



Последнее исправление: Gremlin_ (всего исправлений: 2)
Ответ на: комментарий от DarkEld3r

В общем, у меня есть большие сомнения, что в рантайме контейнер будет что-то делать в зависимости от количества коллизий. Как по мне, тупо будет падать скорость.

Но зачем тогда все это?

http://en.cppreference.com/w/cpp/container/unordered_map/rehash

http://en.cppreference.com/w/cpp/container/unordered_map/max_load_factor

И почему значение

http://en.cppreference.com/w/cpp/container/unordered_map/bucket_count

иногда увеличивается по ходу выполнения?

Т.е. возможность рехеша, ресайза заложена стандартом.

Dudraug ★★★★★
()
Ответ на: комментарий от Dudraug

Я мапой не пользовался никогда, есть и все вышеперечисленное, ваши логарифмы это лажа. <тотальный провал базовых знаний уровня 1-2 курса не спорю , но такие манипуляции нужны лишь тем кто по уровню там же. пи.эс. на этих курсах я пробухивался, потом память отшибло ,а лекции сжёг к ипеням, а гуглить впатлу

Gremlin_
() автор топика
Ответ на: комментарий от Dudraug

как у прогера с 10 летним стажем

я с такими и работал

стебешься над людьми собеседования проводящими

они там для того чтобы их места не заняли

знаний у тебя ноль

ну знаю что ответить не могу, но представление имею и если нужно найду и освежу и не забуду про некоторые вещи

Gremlin_
() автор топика
Ответ на: комментарий от Gremlin_

ваши логарифмы это лажа.

Чувак, ты же понимаешь, что ты смешон. Ты говоришь, людям которые имеют опыт и знания выше твоих на порядок, что правильные решения и правильный выбор структур данных - лажа. Ты не находишь, что ты в чем-то не прав?

но такие манипуляции нужны лишь тем кто по уровню там же. пи.эс

Кто такой пи.эс? O_o Знания, что такое список, очередь, стек, массив, дерево нужны ВСЕМ. Это ключевые знания. Если ты не можешь нормально выбрать структуру под задачу, ну хз... За что тебе тогда деньги платить? Понимаешь, что знания структур данных это как раз уровень джунира. Или ты считаешь, что джуниор вообще ничего знать не должен?

Dudraug ★★★★★
()
Ответ на: комментарий от Gremlin_

ваши логарифмы это лажа.

Кстати ты вообще понимаешь, что значит O(log(n)). Ты сам пару постов назад говорил, что использовал бинарный поиск, который внезапно и есть O(log(n)). Получается ты юзал лажу? Ты понимаешь, что использовать массив/список для бинарного поиска - вот это лажа? Дерево - структура данных которая по сути и была придумана для сортировки и бинарного поиска, но ты используешь решение которое неоптимально, неочевидно, нечитаемо. За что тебе платить деньги, ты и в коммерческом приложение такое решение будешь принимать?

Dudraug ★★★★★
()
Ответ на: комментарий от Gremlin_

они там для того чтобы их места не заняли

Ты реально думаешь, что человек не знающий про бинарное дерево поиска им конкурент? Чувак, у тебя эго разыгралось

Dudraug ★★★★★
()
Ответ на: комментарий от Gremlin_

ну знаю что ответить не могу, но представление имею и если нужно найду и освежу и не забуду про некоторые вещи

Ты пару постов назад спросил меня, что это за структура такая с поиском/вставкой O(log(n)) и самосортирующаяся? Ты не понимаешь, что это база-база-база совсем база? Использовать список там где нужно дерево - это п**дец.

Dudraug ★★★★★
()
Ответ на: комментарий от Dudraug

человек не знающий про бинарное дерево поиска

а с чего ты взял что я чего то не знаю? если я решил просто без заморочей , то это не значит что я не знаю чего - то , что ты мне здесь расказываешь

Чувак, у тебя эго разыгралось

Ребяты восхитились когда спрашивали об boost'e и я понял что они совсем ничем не лучше меня и тех кто накатал все эти решения

Gremlin_
() автор топика
Ответ на: комментарий от Dudraug

правильные решения и правильный выбор структур данных - лажа

у меня тут чтение занимает три минуты , а вы обсуждаете , что у кого-то на три секунды быстрее выполнилось - мне не до этих рассуждений было и есть , пока не решится насущная проблема

Кто такой пи.эс?

P.S.

За что тебе тогда деньги платить?

За облучение

Или ты считаешь, что джуниор вообще ничего знать не должен?

Мне кажется что решение уже показатель знаний

Gremlin_
() автор топика
Ответ на: комментарий от Dudraug

Кстати ты вообще понимаешь, что значит O(log(n)).

Количество сравнений и перестановок в алгоритме от числа переменных n. log(n) растёт медленее обычной пр. пропорциональности , двойной перебор по всем элементам n^2>>log(n), это мне известно и без гугления

Gremlin_
() автор топика
Ответ на: комментарий от Dudraug

Дерево - структура данных которая по сути и была придумана для сортировки и бинарного поиска, но ты используешь решение которое неоптимально, неочевидно, нечитаемо.

Мне проще листами оперировать и массивами

За что тебе платить деньги, ты и в коммерческом приложение такое решение будешь принимать?

зависит от требований и прочих вещей

Gremlin_
() автор топика
Ответ на: комментарий от Gremlin_

а с чего ты взял что я чего то не знаю? если я решил просто без заморочей , то это не значит что я не знаю чего - то , что ты мне здесь расказываешь

А ты не думал, что на собеседование хотят проверить твое умение выбирать лучшее решение и лучшую структуру данных для задачи? А не просто «как-нибудь сделать». Тем более бинарное дерево уже реализованно в std::map и решение на нем гораздо проще и короче и эффективнее. То есть ты провалил задание по всем пунктам.

Dudraug ★★★★★
()
Ответ на: комментарий от Gremlin_

Мне проще листами оперировать и массивами

Поэтому ты и не годишься даже в джуниоры

Dudraug ★★★★★
()
Ответ на: комментарий от Dudraug

Ты не понимаешь, что это база-база-база совсем база? Использовать список там где нужно дерево - это п**дец.

Да? И кто мне запретит? Давайте раз уж деревья такие хорошие уберём из языка всю мишуру - она же медленее и бесполезнее, к чему тогда это добавили?

Gremlin_
() автор топика
Ответ на: комментарий от Gremlin_

у меня тут чтение занимает три минуты , а вы обсуждаете , что у кого-то на три секунды быстрее выполнилось - мне не до этих рассуждений было и есть , пока не решится насущная проблема

На твоей машине и твоем железе, у тебя походу беда какая-то с ОС и с железом, алгоритм от этого хуже не стал

Dudraug ★★★★★
()
Ответ на: комментарий от Gremlin_

Да? И кто мне запретит? Давайте раз уж деревья такие хорошие уберём из языка всю мишуру - она же медленее и бесполезнее, к чему тогда это добавили?

Дерево хорошо для опеределенных задач, массив для других, список для третьих. Поэтому в STL есть std::map, std::list, std::aray, std::queque. Для твое задачи дерево идеально (std::map). Понимаешь? Ты же инженер. Понимаешь, что значит инженер?

Dudraug ★★★★★
()
Ответ на: комментарий от Gremlin_

Мне кажется что решение уже показатель знаний

Для лаб, да

Dudraug ★★★★★
()
Ответ на: комментарий от kachsheev

кормёшка тролля

Когда троллинг такой качественный, начинаешь задумываться, а действительно ли он троллит?

i-rinat ★★★★★
()
Ответ на: комментарий от Dudraug

Т.е. возможность рехеша, ресайза заложена стандартом.

Хорошо, но хеш-функция будет всегда выдавать одинаковый хеш для одинаковых значений. То есть против «честных коллизий» оно не поможет. Я так понимаю, что unordered_map просто увеличивает количество bucket если туда попадает больше определённого порога значений.

DarkEld3r ★★★★★
()
Последнее исправление: DarkEld3r (всего исправлений: 1)
Ответ на: комментарий от Gremlin_

и если нужно найду и освежу

Слово «освежу» ты тоже нашёл, когда сообщение писал? Или так, само всплыло?

i-rinat ★★★★★
()
Ответ на: комментарий от DarkEld3r

Естественно, но хорошая хэш-функция минимизирует коллизии сама по себе. А рехэш у unordered_map нужен, что бы избавиться от коллизий операции H % size

Dudraug ★★★★★
()

Пишу в эпичном треде! Автор или жирный тролль, или школьник. Язабан.

anonymous
()

Народ, может кто написать краткое описание прошлых серий?
А то ушёл на второй странице, и читать лень.
Чем всё-таки всё закончилось?
Кто кого, зачем и почему, для чего и когда?

anonymous
()
Ответ на: комментарий от anonymous

краткое описание прошлых серий?

Бандиты жестоко избили Будулая, и память не возвращалась к нему более полугода. Только случайная встреча с сыном Ваней, который узнал от матери, кто его настоящий отец, помогла цыгану вспомнить своё прошлое. Будулай решает найти преступников. Ему помогают друзья и милиция. После того, как бандиты оказываются за решёткой, цыган возвращается к Клавдии и любимому сыну на донской хутор Вербный.

rupert ★★★★★
()
Ответ на: комментарий от rupert

Эх 😌 Волинтира уже нет! Последние годы он жил в Молдавии. Никогда интервью журналистам не давал. Говорил: «Всё, что надо сказать, я уже сказал в своих фильмах».

Уходят люди, а сней и уходит эпоха.

anonymous
()
Ответ на: комментарий от Gremlin_

ваши логарифмы это лажа

тотальный провал базовых знаний

я пробухивался, потом память отшибло ,а лекции сжёг к ипеням, а гуглить впатлу

*спустя некоторое время*

почему долго выполняется?

Это даже забавно. Может тогда все таки перестанешь тут со всеми сраться? Если ты, конечно, не тролль.

Aswed ★★★★★
()
Последнее исправление: Aswed (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.