Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Micheal
53 / 53 / 28
Регистрация: 23.04.2011
Сообщений: 214

Встроенные алгоритмы сортировки (Gecko, Trident)

14.07.2014, 16:11. Показов 1001. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, коллеги!
С научной точки зрения заинтересовала следующая задача: можно ли на JS реализовать алгоритм сортировки, который будет оптимальнее, чем встроенный array.sort(sortFunction)?
Решил начать с самого начала - реализовать самые медленные алгоритмы: выбором и пузырьком.
В процессе тестирования, решил проверить время работы на разных браузерах (Opera 12.17, FF 30.0, Chrome 35.0, IE 10), при чем решил проверить стандартную array.sort(sortFunction), результаты получились интересные:
(в тесте брались 100 массивов по 100000 случайных элементов, и расчитывалось матожидание времени сортировки)
1. Chrome - 155.8 мс
2. IE - 185.2 мс

3. Opera - 394.0 мс
4. FF - 407.4 мс

Затем провел тестирование "своего" пузырькового алгоритма (брались 1000 массивов по 1000 случайных элементов), результаты следующие:
1. Chrome - 6.3 мс
2. FF - 7.8 мс
3. IE - 26.7 мс
4. Opera - 36.7 мс

Затем провел тестирование "своего" алгоритма выбором (брались 1000 массивов по 1000 случайных элементов), результаты следующие:
1. FF - 2.5 мс
2. Chrome - 5.1 мс
3. IE - 7.1 мс
4. Opera - 19.9 мс

Соответственно возник такой вопрос: какими алгоритмами пользуются в разных браузерах?
Если я правильн понимаю, то с открытым кодом только Gecko - Firefox. Возможно кто-то подскажет ответ, либо ресурсы где это можно узнать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.07.2014, 16:11
Ответы с готовыми решениями:

Написать две функции сортировки массива целых чисел, реализующих заданные алгоритмы сортировки – один из класса квадрат
#include <stdio.h> #include "stdafx.h" #include "iostream" #include <stdlib.h> #include <time.h> int main() { int sort; ...

Алгоритмы сортировки массивов.Реализуйте алгоритмы сортировок данных массивов
Задания к лабораторной работе. Выполните приведенные ниже задания. 1. Даны два целочисленных массива 2. Реализуйте алгоритмы...

Алгоритмы сортировки
Массив C включает 30 целых чисел из интервала . Отсортировать в порядке убывания их значений. Исключить из отсортированного массива...

4
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
14.07.2014, 16:40
Micheal, почему тестируя сортировку движка, ты брал соотношение 1000/100000, а когда тестил свои, то брал 1000/1000, то бишь в 100 раз меньше, если посудить, то движок все равно быстрее с одинаковым количеством элементов.
0
 Аватар для Micheal
53 / 53 / 28
Регистрация: 23.04.2011
Сообщений: 214
14.07.2014, 16:48  [ТС]
Цитата Сообщение от Thisman Посмотреть сообщение
почему тестируя сортировку движка, ты брал соотношение 1000/100000, а когда тестил свои, то брал 1000/1000, то бишь в 100 раз меньше
основная причина - нелинейный рост времени для всех алгоритмов, для FF "мой" алгоритм пузырьковой сортировки работает 2.5 секунды(для 1000 массивов), даже если предположить, что время растет линейно, для 100000-элементного массива нужно 250 секунд, но на самом деле - намного больше...

разумеется, что движки быстрее, но мне интересно, почему довольно значительное расхождение в самих движках, и какими алгоритмами пользовались разработчики?
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
14.07.2014, 16:53
Micheal, возможно там реализовано несколько алгоритмов, использование их зависит от количества элементов в массиве, возможно от степени сортировки изначальной ( если сие известно ).
0
 Аватар для Micheal
53 / 53 / 28
Регистрация: 23.04.2011
Сообщений: 214
14.07.2014, 17:53  [ТС]
Вот что нашел еще по данной теме:
http://stackoverflow.com/quest... ementation
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2014, 17:53
Помогаю со студенческими работами здесь

Алгоритмы сортировки .
Назовите пожалуйста самый оптимальный метод сортировки массива. И задачка не в тему: Поменять местами последний максимальный элемент и...

Алгоритмы сортировки
Здесь предлагаю выкладывать свои алгоритмы сортировки (с кодом желательно) на С++!!!Видел подобную тему только алгоритмы на Паскале! Вот и...

Алгоритмы сортировки
Всем привет. Извиняюсь заранее что моя просьба может вызвать напряг в будущем. Хотел бы попросить Вас, дорогие форумчане, не могли бы Вы...

Алгоритмы сортировки
Дорогие программисты помогите пожалуйста с процедурами и функциями, совсем запутался задание 1 )Написать процедуру (с параметрами)...

Алгоритмы сортировки
Приводим все какие знаем алгоритмы сортировки. Описание алгоритмов без кода либо ссылку. Имеется в виду одномерный массив


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru