powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм
5 сообщений из 30, страница 2 из 2
Алгоритм
    #33987459
k-nike2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer k-nikeИнтересно какие там еще данные требуются кроме самого массива?
Которые "или файл" и "очень большой". Данные очень большого файла запросто могут не влезть в память.
Хотите сказать для сортировки массива "или файл" или "очень большой" не важно? Я далеко не спец, но у меня очень большие сомнения по этому поводу. К тому же не обязательно читать файл целиком в обоих случаях.
Еще про сортировку массива почитал тут , конкретная таблица тут . В худшем случае сложность сортировки массива О(N 2 ), т.е. такая же!!!
А в среднем О(N*log2(N)).
Остается посчитать среднюю сложность нелюбимого вами метода для полного понимания происходящего.
...
Рейтинг: 0 / 0
Алгоритм
    #33988752
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-nike2Хотите сказать для сортировки массива "или файл" или "очень большой" не важно?
Смотря какой алгоритм. Скажем, для той же битовой карты - не важно. Популярность quicksort во многом обусловлена тем, что алгоритм отлично подходит для систем с виртуальной памятью.

k-nike2К тому же не обязательно читать файл целиком в обоих случаях.
Это не важно. Если читать файл целиком, сложность чтения O(N). Если требуется прочитать в среднем пол-файла, сложность чтения опять-таки O(N). И если не иметь данных о внутренней структуре файла, эту оценку улучшить не удастся.

k-nike2В худшем случае сложность сортировки массива О(N 2 ), т.е. такая же!!!
Да, выборка из трех алгоритмов позволяет сделать такой вывод.

Для битовой карты в худшем случае сложность O(N). Такая же?

k-nike2Остается посчитать среднюю сложность нелюбимого вами метода для полного понимания происходящего.
Что ж, считайте. Вы двигаетесь в правильном направлении.
...
Рейтинг: 0 / 0
Алгоритм
    #33988772
k-nike2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напоминаю с чего все началось:
softwarer k-nikeНе могу написать формулу сложности алгоритма, но по-моему вариант когда:
Код: plaintext
1.
2.
3.
 1 -ый эл. сравнивается со  2 -м ... N-м
 2 -ой эл. сравнивается с  3 -м ... N-м
 3 -ый эл. сравнивается с  4 -м ... N-м
и т.д.
будет гораздо быстрее чем вариант с сортировкой .
"По-моему" - вещь хорошая, но ей хорошо было бы быть верной или хотя бы хоть чем-нибудь подкрепленной.
Я свои слова, как мне кажется, подкрепил. А про битовую карту я ничего не говорил и ни с чем ее не сравнивал. Или вы хотите сказать, что битовая карта и есть сортировка? Тогда я, конечно, не прав, но я имел ввиду обычную сортировку массива, типа, пузырьковой.
...
Рейтинг: 0 / 0
Алгоритм
    #33988783
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-nike2Напоминаю с чего все началось:
Я помню. Это по сути пузырек, сложность O(N 2 ).

k-nike2Я свои слова, как мне кажется, подкрепил.
Чем? Вы назвали три алгоритма, у которых сложность в наихудшем случае такая же, какая у Вас в наилучшем. У одного из них такая же сложность в среднем случае, из-за чего его используют только очень ленивые и глупые студенты (глупые - потому что не способны списать откуда-нибудь более удачную реализацию).

k-nike2Или вы хотите сказать, что битовая карта и есть сортировка?
Битовая карта в принципе является алгоритмом сортировки. В случае конкретной задачи сортировка нам неинтересна, важен факт наличия дублей, который определяется аналогичным способом со сложностью O(N).

k-nike2Тогда я, конечно, не прав, но я имел ввиду обычную сортировку массива, типа, пузырьковой.
И? quicksort даст N log N. radix sort даст N. То и другое является "обычными сортировками".
...
Рейтинг: 0 / 0
Алгоритм
    #33988911
k-nike2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerВы назвали три алгоритма, у которых сложность в наихудшем случае такая же, какая у Вас в наилучшем.
Я смотрю мы все о разном. Я-то с дуру под сложность скорость подразумеваю, но как выяснилось скорость от сложности мало зависит (+/- бесконечность).
см. ссылку вышеОсновным недостатком O-функций является их черезмерная грубость. Если алгоритм А выполняет некоторую задачу за 0.001*N с, в то время как для ее же решения с помощью алгоритма В требуется 1000*N с, то В в миллион раз быстрее, чем А. Тем не менее А и В имеют одну и ту же временную сложность O(N).
К тому же, здесь уже говорилось, в том числе и вами, что битовую карту как и некоторые алгоримы сортировки можно применить не для всех данных, а автор имел ввиду непосредственно алгоритм. Я понимаю, что числа легче сравнивать, чем, например, строки.

softwarerиз-за чего его используют только очень ленивые и глупые студенты (глупые - потому что не способны списать откуда-нибудь более удачную реализацию).
А я наивно считал, что ленивые и глупые списывают...
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]