![]() |
|
Модераторы: bsa |
![]()
|
|
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: нет Всего: 6 |
asmdzen, не знаю кто из нас прав
Твою логику понял. |
|||
|
||||
| ShadowC |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 23.6.2011 Репутация: нет Всего: нет |
извеняюсь за некропостинг,но заинтерисовала задача,решил попробовать решить,вот что пришло на ум
что скажите по поводу такого алгаритма решения алгоритм построен на том,что программа берет массив и проверяет все элементы массива предшествующие этому массива и если не находит такого-же то инкрементирует счетчик,наверное можно было решить более красиво с таким же алгаритмом,у меня вышло весьма неуклюже Это сообщение отредактировал(а) ShadowC - 3.10.2011, 00:43 |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
ShadowC, время выполнения вашего алгоритма N^2. Чтобы почувствовать нужно взять большой массив. Если в массиве миллион элементов, то понадобится порядка 10^12 итераций. Другими словами программа будет работать целый день, тогда как можно все сделать за 1 минуту. |
|||
|
||||
| ShadowC |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 23.6.2011 Репутация: нет Всего: нет |
ну наверное можно даже с моими знаниями(8-ая глава книги дейтлов),но я сам обучаюсь без учителя,поэтому у меня сейчас не стоит вопрос об эффективности программ,а все силы направлены на то что бы решить задачу,думаю когда поднатаскаюсь до нормального уровня там можно будет и быстродействие подумать... P.S. а вообще есть такая идея,не знаю поможет ли - вначале отсортировать массив и в отсортированном массиве такой алгоритм пойдет просто мгновенно,потому что повторяющиеся элементы будут стоять рядом и шаг для проверки любого элемента массива будет равен одному Это сообщение отредактировал(а) ShadowC - 3.10.2011, 15:07 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Этот вариант был давно уже предложен. Правда, он тоже не особо оптимален из-за использования двусвязного списка.
Это сообщение отредактировал(а) bsa - 3.10.2011, 15:42 |
|||
|
||||
| ShadowC |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 23.6.2011 Репутация: нет Всего: нет |
я пренципиально не читал тему и думал сам,а то так не интересно... кстате bsa ты опытный в этом деле у меня к тебе вопрос ну и ко всем кто на него может ответить,какой самый быстрый алгоритм сортировки? Это сообщение отредактировал(а) ShadowC - 3.10.2011, 15:52 |
|||
|
||||
| SolRus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 6.8.2011 Репутация: нет Всего: нет |
хоть вопрос не мне, все равно кой чего отпишу:
если сильно интересует эта тема читай книгу "Искусство_программирования" Дональда Кнута, том3 если побыстрому то на вики есть кое-что я точно незнаю какой, оно вроде зависит от того сколько элементов |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |