С Новым годом! Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
9 / 9 / 8
Регистрация: 03.07.2015
Сообщений: 219

Сложность алгоритма

11.06.2017, 19:42. Показов 1024. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть псевдокод следующего алгоритма

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function search(k,m: int, x:double): bool;
 
 var l: int;
 p,q: bool
 
begin
   if k = m then if x = t[k] then search:=true
                                    else search:=false
   else
       begin
              l:=(k+m)div 2;
              p:= search(k,1) || q:=search(l+1,m);
              search:=p||q;
       end
end;
t - какой-то, массив, который является переменной глобальной.
Нужно определить сложность алгоритма для search(1,n,2.5);

Мои варианты:
точно не O(n)
Предполагаю, что правильным ответом будет O(log n)^2.
Может кто подскажет ошибаюсь ли я или нет. За более подробное объяснение почему так или нет двойное спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2017, 19:42
Ответы с готовыми решениями:

Сложность алгоритма
Кто бы объяснил рабоче-крестьянским языком что такое O(N) ? И если есть сложность алгоритма O(N + M) и я хочу разбить на 2 подзадачи, то...

сложность алгоритма
подскажите, как росчитать сложность алгоритма. в том числе алгоритм сортиро́вки пузырько́м : procedure sort_bulbaska(var A:mas); ...

Сложность Алгоритма
Помогите пожалуйста разобраться. Я не прошу за меня решать!!!! В данной задаче нужно заполнить таблицу.Пара вопросов: 1)Я не совсем...

6
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
12.06.2017, 01:33
1. Эта функция ничего не возвращает и, следовательно, никогда не заканчивает свою работу
2. Почему в объявлении функции 3 аргумента, а рекурсивный вызов с двумя аргументами?
3. Для чего у переменной search такое же имя как у функции?
4. O(log n)^2 - это как?
0
9 / 9 / 8
Регистрация: 03.07.2015
Сообщений: 219
12.06.2017, 01:57  [ТС]
oldnewyear, не поверишь, но я сам так подумал, когда увидел данное задание, высылаю файл в подтверждение, а веднь это задание было на экзамене в польском универе. Там на польском языке, но смысл задания переведен правильно. А псевдокод переписан. O(log n)^2 это тоже самое что и O(log^2 n) если я еще математику не совсем забыл. Там даже варианты ответов есть, но изначально не стал их писать, чтобы никого не сбивать с толку
Миниатюры
Сложность алгоритма  
0
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
12.06.2017, 08:18
если представить, что search вызывается рекурсивно все же с тремя параметрами, то сложность https://www.cyberforum.ru/cgi-bin/latex.cgi?O(N). например, если искомое число стоит на позиции https://www.cyberforum.ru/cgi-bin/latex.cgi?n, то вроде мы как раз https://www.cyberforum.ru/cgi-bin/latex.cgi?n элементов и просмотрим. но вообще задание ужасное.
1
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,204
Записей в блоге: 24
12.06.2017, 13:12
Цитата Сообщение от oldnewyear Посмотреть сообщение
1. Эта функция ничего не возвращает и, следовательно, никогда не заканчивает свою работу
3. Для чего у переменной search такое же имя как у функции?
Pascal же. Здесь (конкретно в этом коде) search:= означает то же, что return в С-подобных языках.
Меня кроме вопроса о количестве аргументов интересует запись
Pascal
1
p:= search(k,1) || q:=search(l+1,m);
Значит ли это, что p и q должны вычисляться параллельно? Ведь если вычисления происходят последовательно, то сложность будет O(N). Если параллельно, то O(log N).

P.S. а шрифт, шрифт-то какой! Сразу ведь различишь, где l, а где 1 написана!
1
9 / 9 / 8
Регистрация: 03.07.2015
Сообщений: 219
12.06.2017, 18:30  [ТС]
Mysterious Light, сам всматривался и пытался различить где l, а где 1! Но не суть, условие написано правильно. Знаю только что ответ O(N) наверняка не правильны. Нигода не изучал паскаль, даже синтаксиса этого языка не знаю, но догодался, что search:= значит то же самое, что и return. А на счет 2 аргументов, а не 3-ёх загадка. Будет возможность спрошу у препода о чем тут речь.
0
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,876
12.06.2017, 23:22
Цитата Сообщение от Aliaxandr Посмотреть сообщение
O(log n)^2 это тоже самое что и O(log^2 n) если я еще математику не совсем забыл.
Нет.

Добавлено через 13 минут
В строке 12 явно должно быть l, а не 1.
Функции трёх переменных вызываются с двумя... видимо опечатка.
В строке 12 написано ||, а строке 13 написано or. В чём разница?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.06.2017, 23:22
Помогаю со студенческими работами здесь

Сложность алгоритма
пусть имеется алгоритм f со сложностью О(n*log n). Если этот алгоритм запускается в цикле n раз for(int i=0;i<n;i++) { ...

Сложность алгоритма
Здравствуйте. Подскажите, как можно определить сложность многократной рекурсии. Вот нашел информацию, но фраза но фраза ...

Сложность Алгоритма
народ подскажите пожалуйста как посчитать сложность вот такого кода (или хотя бы литературу подкинте) while i<=length(s) do ...

Сложность алгоритма
Нужно определить сложность алгоритма. Я совсем не понял как это делается. Program Spline; uses crt,dos; type vector=array of...

Оценить сложность алгоритма
Нужно оценить сложность алгоритма (ф-ции) сортировки кучи вот собственно и сама функция public void Heapsort() { ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru