2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Время работы алгоритмов
Сообщение06.10.2016, 02:24 
Заслуженный участник


20/08/14
11778
Россия, Москва

(занудство)

Даже именно операция < (или >) не обязательна, достаточно вообще любой операции отношения порядка над парой элементов. Например белее или тяжелее или приятнее или (не)принадлежности разным множествам, без разницы. Если можно упорядочить 2 элемента, то за $O(n \log n)$ можно упорядочить (в том же смысле!) и массив длиной $n$ таких же элементов. Реально сравнивать при этом пары элементов или любым другим образом получать информацию об их порядке (конкретной пары) - роли не играет.

 Профиль  
                  
 
 Re: Время работы алгоритмов
Сообщение06.10.2016, 04:35 
Заслуженный участник
Аватара пользователя


16/07/14
9149
Цюрих
Dmitriy40, непонятно, что значит "упорядочить". Под "отсортировать массив" обычно подразумевается "переставить элементы в нужном порядке". И для этого, кроме проверки порядка, нужен еще какой-то способ собственно перестановки.

 Профиль  
                  
 
 Re: Время работы алгоритмов
Сообщение06.10.2016, 08:22 
Заслуженный участник


20/08/14
11778
Россия, Москва
Сам массив переставлять не обязательно, Вам это уже сказали и я не стал повторяться. Достаточно построить индексы к массиву в нужном порядке (или отсортировать индексы в нужном порядке). Списков индексов кстати может быть и больше одного - и массив будет независимо упорядочен сразу по многим критериям, что с перестановками внутри исходного массива невозможно.
Я же добавил что под упорядочить не обязательно понимать отношение именно больше-меньше, достаточно вообще любого отношения над парой элементов (и не обязательно исходного массива), упорядочивающего (в любом желаемом смысле) эту пару. Если для любой пары мы всегда можем выбрать один из её элементов - этого достаточно для сортировки.

(Оффтоп)

В том смысле что не обязательно оценивать ключ сортировки численно, если мы из двух любых картин можем выбрать более красивую, не оценивая саму красоту картин в числах - мы уже можем отсортировать любой список картин по красоте, так и не переводя её для этого в цифру. Хотя, потом конечно легко можем перенумеровать и получить именно что в цифрах ... Об этом часто забывают, что сортировать/упорядочивать можно не только числовые данные, а любые, на которых определено хоть какое-то отношение порядка пар элементов. И за то самое гарантированное (в $O$ смысле) время.
Впрочем, может быть любое отношение порядка является тем же самым отношением больше-меньше - и тогда я зря влез и ввёл в заблуждение. :-(

 Профиль  
                  
 
 Re: Время работы алгоритмов
Сообщение06.10.2016, 09:57 
Заслуженный участник


26/05/14
981
Dmitriy40 в сообщении #1157666 писал(а):
Впрочем, может быть любое отношение порядка является тем же самым отношением больше-меньше - и тогда я зря влез и ввёл в заблуждение. :-(
Нет не зря. Это я был чрезмерно краток.
Когда я упоминал отношение < имелось ввиду любое отношение которое антирефлексивно, транзитивно и с помощью которого можно построить эквивалентность элементов. Любое такое отношение определяет полное упорядочение.

Dmitriy40 в сообщении #1157666 писал(а):
В том смысле что не обязательно оценивать ключ сортировки численно
Сортировка строк - хороший пример. (Опять таки, под строками имеются ввиду строки элементов произвольной природы, упорядоченные лексикографически).
В вычислительной геометрии вектора сортируются по углу без вычисления самого угла.

 Профиль  
                  
 
 Re: Время работы алгоритмов
Сообщение06.10.2016, 15:39 
Аватара пользователя


31/10/08
1244
Dmitriy40
Dmitriy40 в сообщении #1157666 писал(а):
Если для любой пары мы всегда можем выбрать один из её элементов - этого достаточно для сортировки.

Это не естественная сортировка.
И вообще у вас каша полная.

slavav
А что индексы вам переставлять не надо?

 Профиль  
                  
 
 Re: Время работы алгоритмов
Сообщение06.10.2016, 15:52 
Заслуженный участник


26/05/14
981
Pavia в сообщении #1157764 писал(а):
slavav
А что индексы вам переставлять не надо?
Надо. А почему вы спрашиваете?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group