Поиск:

Ответ в темуСоздание новой темы Создание опроса
> посчитать медиану не держа весь массив в памяти 
:(
    Опции темы
mrgloom
Дата 3.9.2012, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



возможно ли посчитать медиану не держа весь массив в памяти?
PM MAIL   Вверх
Akina
Дата 3.9.2012, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Только для сортированного массива smile


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Фантом
Дата 3.9.2012, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 2
Всего: 49



Цитата(mrgloom @  3.9.2012,  18:08 Найти цитируемый пост)
возможно ли посчитать медиану не держа весь массив в памяти? 

Нет. Такие фокусы только с разными средними проходят. 
PM   Вверх
maxdiver
Дата 3.9.2012, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: 16
Всего: 18



Цитата(Akina @ 3.9.2012,  17:19)
Только для сортированного массива smile

Да, но ведь существуют алгоритмы внешней сортировки, для которых не требуется загружать весь массив в оперативную память (а выгружая ненужные части массива во внешнюю память - например, на жесткий диск). Следовательно, можно надеяться на то, что существуют аналогичные алгоритмы внешнего нахождения медианы.
PM MAIL WWW ICQ   Вверх
Akina
Дата 3.9.2012, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Если можно привлечь внешнюю сортировку - то собсно задача-то решена...




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Фантом
Дата 3.9.2012, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 2
Всего: 49



Цитата(Akina @  3.9.2012,  18:57 Найти цитируемый пост)
Если можно привлечь внешнюю сортировку - то собсно задача-то решена...

Это-то да, но тогда это стрельба из пушки по воробьям.
PM   Вверх
Pavia
Дата 3.9.2012, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Существует множество алгоритмов поиска медианы. В том числе и без сортировки.
PM MAIL   Вверх
Akina
Дата 3.9.2012, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



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

Добавлено через 4 минуты и 58 секунд
Pavia, но они многопроходны. И на больших массивах всё равно дают те же O(N*logN). Но обычно работают хуже при высокой неравномерности распределения значений по диапазону.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Pavia
Дата 3.9.2012, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Akina
Есть алгоритмы за O(n), для любого массива.

Книга "Алгоритмы. Построение и анализ. Издание 2-е"

PM MAIL   Вверх
maxdiver
Дата 17.9.2012, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: 16
Всего: 18



Вот хорошая статья на тему внешнего поиска медиан: "External Selection" (Jop F. Sibeyn): http://citeseerx.ist.psu.edu/viewdoc/downl...p1&type=pdf. Описаны рандомизированный и детерминированный алгоритмы, самый быстрый из которых - работает за N+o(N) операций чтения и o(N) операций записи.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.