Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2015, 13:51   #1211
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Эффективность здесь важна видимо только на этапе поиска фильма в массиве. Двоичный например. Хеш-функцию придумать для быстрого определения индекса было бы конечно круто, но это зависит от конкретного набора фильмов.

Сортировать можно самым примитивным способом - 10 элементов всего.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.04.2015, 14:08   #1212
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Хеш-функцию придумать для быстрого определения индекса было бы конечно круто, но это зависит от конкретного набора фильмов.
Это да.. Но вариант с map'ом все равно остается
Цитата:
Сортировать можно самым примитивным способом - 10 элементов всего.
Это да..
Poma][a вне форума Ответить с цитированием
Старый 05.04.2015, 14:12   #1213
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Простите, что не по теме

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Не хочу клепать еще одну тему.. Или аппать старую.. Поэтому спрошу здесь :
Ради прикола погулял по группа в Вк. Нашел "ЕГЭ Информатика", а там как раз шел "пробник", глянул задания. Заинтересовало последнее :

Тут я вижу два варианта хорошего решения : бинарное дерево поиска (бахнуть map из крестов) или баловаться хеш-функциями (если я правильно помню значение этого некультурного слова)..
Но это ЕГЭ! Не олимпиада. Некий (не очень высокий) процент школьников должен решать это задание!
И тут я малясь призадумался.. Толи я все усложнил, толи организаторы фигню творят.. (им, кстати, вопрос я задал, но ответа нет.. глянул решения участников - ничего хорошего)

Теперь вопрос :
Какое хорошее решение задачи?
Теперь я знаю, откуда берутся такие "продолжения": http://www.youtube.com/watch?v=ri3cfm2IFu8
Вадим Мошев вне форума Ответить с цитированием
Старый 05.04.2015, 19:20   #1214
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Все проблемы с деревьями заключаются в их изменении. Если дерево не изменяется в процессе работы, то это тупейший бинпоиск.
Somebody вне форума Ответить с цитированием
Старый 05.04.2015, 19:37   #1215
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Дык оно изменяется.. Кол-во-то увеличивается
Poma][a вне форума Ответить с цитированием
Старый 05.04.2015, 19:48   #1216
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

А, действительно. Но оно изменяется очень редко, так что можно пересортировывать массив при каждом изменении.
Somebody вне форума Ответить с цитированием
Старый 05.04.2015, 19:54   #1217
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Давайте забудем про число 10.. И перейдем к N. Получится большая сложность.. А хочет элегантности
Poma][a вне форума Ответить с цитированием
Старый 05.04.2015, 20:18   #1218
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Дык оно изменяется.. Кол-во-то увеличивается
Кол-во роли не играет, фильмы динамически добавляются, и тогда или тупо пересортировка или вставка со сдвигом хвоста
Цитата:
И перейдем к N
К N фильмам? Не было бы такой задачи там. И все равно поиск, и двоичное дерево тогда скорее всего. И ни какой элегантности
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.04.2015, 20:23   #1219
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Кол-во роли не играет, фильмы динамически добавляются, и тогда или тупо пересортировка или вставка со сдвигом хвоста
Всмысле не кол-во фильмов, а кол-во проголосовавших за некий фильм
Цитата:
И ни какой элегантности
Эх да
Poma][a вне форума Ответить с цитированием
Старый 06.04.2015, 06:30   #1220
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

На счет динамических сортировок и деревьев вы зря. Заранее же известно количество голосов. Потому логичнее проще и быстрее сначала просуммировать все голоса, а потом отсортировать.

Мне кажется весь замес в том, что файл исходных данных не содержит отдельно перечня фильмов, за которые голосуют. Программа может знать (если ей сказать об этом), что фильмов 10, а вот названия она должна брать из списка голосов постепенно (по мере того, как встретит их). Причем теоретически за некоторые фильмы может никто и не проголосовать.

Сначала список выглядит вот так:
1. 'яяяяяяяяя'... = 0
2. 'яяяяяяяяя'... = 0
3. 'яяяяяяяяя'... = 0
4. 'яяяяяяяяя'... = 0
...
...

Прочитали первую строку: s = 'Фильм 1'.

Сравнивать с элементами списка можно не простым "=", а посимвольно ч/з AND: s[i] and List[cur][i] = s[i];
Если очередной символ не подошел, то переходим к следующей строку списка.
Если все символы подходят то Inc (List[cur].Count)
Причем, если List[cur].Count сначала был = 0, то в List[cur].String нужно записать s.
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интересные проги kipish Софт 85 18.12.2022 01:03
Текст на картинках SunLight Microsoft Office Word 2 08.08.2007 12:59