0 / 0 / 1
Регистрация: 02.06.2016
Сообщений: 48
1

Определение времени работы алгоритма

17.06.2016, 21:51. Показов 1107. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите надо определить время работы алгоримта

C
1
2
3
4
5
6
7
8
9
10
11
Boolean: Function (integer: array[])
 
for i=0 to <наибольший индекс массива> - 1
    for j=i+1 to <наибольший индекс массива>
        if (array[i] == array[j]) then return true
    next j
next i
 
return false
 
end function
У меня получилась ерунда: О( (N^2 - N) / 2)

по этой формуле можно определить сколько шагов понадобиться совершить программе , использую этот алгоритм, чтобы проверить массив из N элементов. А как определить в какой зависимости будет возрастать количество щагов от количества элементов. Поправьте если, что не так написал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2016, 21:51
Ответы с готовыми решениями:

Определение сложности алгоритма / Pascal
Доброго времени суток. Есть такой код: type mas = array of integer; procedure InsertSort(var...

Определение алгоритма оптимальной игры
Всем привет! Задача на динамическое программирование, думаю что получится сделать, только вот...

О символика (определение временной сложности алгоритма)
S:=0; For i:=1 to n*2 do begin s:=s+A; For j:=1 to n - 2 do begin s:=s+A; For k:=1 to n-3 do...

Определение временной сложности алгоритма (О символика)
Procedure R(n, x : integer); Var i, j :integer; begin S:=0; For i:=1 to 2*n do if a &gt; х...

5
Модератор
Эксперт функциональных языков программирования
3079 / 2228 / 462
Регистрация: 26.03.2015
Сообщений: 8,648
17.06.2016, 22:38 2
O(N2)
0
0 / 0 / 1
Регистрация: 02.06.2016
Сообщений: 48
17.06.2016, 23:31  [ТС] 3
Shamil1, неправильно!
0
Модератор
Эксперт функциональных языков программирования
3079 / 2228 / 462
Регистрация: 26.03.2015
Сообщений: 8,648
17.06.2016, 23:57 4
Цитата Сообщение от RomanFlash Посмотреть сообщение
Shamil1, неправильно
Как Вы пришли к такому выводу? Можете доказать?
0
0 / 0 / 1
Регистрация: 02.06.2016
Сообщений: 48
18.06.2016, 12:45  [ТС] 5
Shamil1, очень просто: в книге по которой я изучаю алгоритмы есть пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
Boolean: Function (integer: array[])
 
for i=0 to <наибольший индекс>
    for j=0 to <наибольший индекс>
        if (i != j) then
            if (array[i] == array[j]) then return true
            End if
    next j
next i
 
return false
 
End Funtion
Автор книги пишет, что этот алгоритм имеет время работы O(N^2), алгоритм который я указал в теме несколько отличается от этого => время работы у них не мб одинаковым.
0
Модератор
Эксперт функциональных языков программирования
3079 / 2228 / 462
Регистрация: 26.03.2015
Сообщений: 8,648
18.06.2016, 12:57 6
Цитата Сообщение от RomanFlash Посмотреть сообщение
алгоритм который я указал в теме несколько отличается от этого => время работы у них не мб одинаковым
Это ошибочный вывод.
У разных алгоритмов может быть одинаковое "время работы" (сложность). Это связано с тем, что у разных последовательностей может быть одинаковый предел.
1
18.06.2016, 12:57
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2016, 12:57
Помогаю со студенческими работами здесь

Оценка времени выполнения алгоритма
Всем привет :) Дали задание: &quot;Реализовать алгоритм быстрой сортировки. Дать оценку времени...

Определение числа операций на основе описания алгоритма
В общем, мне нужно на основе описания алгоритма вывести формулу определения числа операций в...

Увеличение быстродействия и уменьшение времени выполнения алгоритма
Добрый день. Мне стало интересно существуют ли такие классы алгоритмов, для которых, скажем,...

Как найти время работы алгоритма?
Пусть время работы алгоритма Т(N) = O(f(N)). Если X элементов обрабатываются за Y мсек., то во...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетных компьютеров началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
Как определить, содержит ли строка подстроку в JavaScript
InfoMaster 19.01.2025
При разработке веб-приложений часто возникает необходимость выполнять различные операции со строками, среди которых особое место занимает поиск подстрок. JavaScript предоставляет несколько встроенных. . .
Что такое метаклассы в Python
InfoMaster 19.01.2025
Метаклассы в Python представляют собой один из самых мощных и одновременно сложных механизмов языка, позволяющий программистам контролировать процесс создания классов. По своей сути, метакласс. . .
Как удалить свойство из объекта JavaScript
InfoMaster 19.01.2025
В современной веб-разработке объекты JavaScript играют фундаментальную роль в организации и структурировании данных. Они представляют собой контейнеры, которые хранят связанные данные и. . .
Какая разница между String и string в C#
InfoMaster 19.01.2025
В языке программирования C# существует интересная особенность: для работы со строками можно использовать как String, так и string. Эта двойственность часто вызывает вопросы у разработчиков, особенно. . .
Как в Git откатить репозиторий к предыдущему коммиту
InfoMaster 19.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, предоставляя разработчикам мощные инструменты для управления изменениями в. . .
Как работают замыкания (closure) в JavaScript
InfoMaster 19.01.2025
В мире современной веб-разработки замыкания (closures) представляют собой один из фундаментальных концептов языка JavaScript, который часто вызывает затруднения у начинающих разработчиков, но при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru