Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
53 / 53 / 2
Регистрация: 06.04.2011
Сообщений: 209

Не понятно, как доказать.

10.10.2011, 12:10. Показов 1422. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Во вложении второе задание я не понял. Может ли кто-нибудь объяснить, как вообще осуществляются подобные преобразования, типа (f(n) -> O(f(n))). В книге вроде бы о них ничего не было..
И ещё задания оттуда же.
Известно, что время выполнения одного алгоритма равно O(N * logN), а другого - O(N^3). Что данное выражение неявно говорит об относительной производительности алгоритмов?
Хотел ответить, что это говорит о том, что время выполнения первого алгоритма намного меньше времени выполнения второго при больших N. Но потом вспомнил, что O-нотация показывает верхний предел порядка роста, и поэтому такой вывод сделать нельзя. Т. е. из
C
1
2
f(n) <= c1 * N * logN
g(n) <= c2 * N^3
не следует, что
C
1
f(n) <= g(n)
Миниатюры
Не понятно, как доказать.  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2011, 12:10
Ответы с готовыми решениями:

как i двигается понятно но вот не понятно как это делает j ?
Здравствуйте, вопрос очень глупы но все же есть цикл for (int i = 0,j = 0; i &lt; source.length; i++) как i двигается понятно но вот не...

Не понятно как прочитать
graph = new bool*; { bool *row = graph = new bool; И эту тоже. for (int j = 0; j &lt; n; j++) row = false;} ...

Не понятно как копирует
Здравствуйте! Есть таблица Название столбцов 1,2..... И в vba ЕСТЬ модуль как туда копируются данные вот код ...

6
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
10.10.2011, 13:46
Второе задание тоже не понял.

Что касается сравнения асимптотик алгоритмов - действительно, если формально следовать определеню, получается, что эта информация ничего не говорит об относительной производительности.
С другой стороны, на практике, когда говорят, что сложность некоторого алгоритма есть O(f(n)), на самом деле имеют в виду, что либо его сложность в худшем случае, либо в среднем равна Θ(f(n)).
1
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
11.10.2011, 12:40
Цитата Сообщение от stdcout Посмотреть сообщение
Во вложении второе задание я не понял. Может ли кто-нибудь объяснить, как вообще осуществляются подобные преобразования, типа (f(n) -> O(f(n))).
Ну, если время t работы алгоритма равно
t = O(f(n)),
то это по определению означает, что существуют такие
C и N, что
t <= C * f(N + n), где n – любое натуральное.

Тогда если
t = f(n), где n – любое натуральное,
то очевидно, что
t <= 1 * f(0 + n),
т.е. t = O(f(n)), где C = 1 и N = 0.
Аналогично из определения следует справедливость и остальных преобразований этого задания.
1
53 / 53 / 2
Регистрация: 06.04.2011
Сообщений: 209
11.10.2011, 16:07  [ТС]
Mr.X, Меня испугал знак равенства. В данном случае, как я понял, он употребляется в том же значении, что и знак принадлежности множеству?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
11.10.2011, 16:10
Цитата Сообщение от stdcout Посмотреть сообщение
Хотел ответить, что это говорит о том, что время выполнения первого алгоритма намного меньше времени выполнения второго при больших N. Но потом вспомнил, что O-нотация показывает верхний предел порядка роста, и поэтому такой вывод сделать нельзя.
Тогда при любом достаточно большом N первый алгоритм в худшем случае работает быстрее, чем второй при том же N и тоже в худшем случае.
0
53 / 53 / 2
Регистрация: 06.04.2011
Сообщений: 209
11.10.2011, 16:16  [ТС]
и знак следствия -> в выражении наподобие:
cO(f(N)) -> O(f(N))
В данном случае наверное был бы более уместным знак эквивалентности?

Добавлено через 4 минуты
taras atavin, нет. O-нотация показывает лишь верхний предел порядка роста. то есть
O(logN) является подмножеством O(N^3)
так как если f(N) <= c * logN, то f(N) <= c * N^3
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
11.10.2011, 16:23
Цитата Сообщение от stdcout Посмотреть сообщение
Mr.X, Меня испугал знак равенства. В данном случае, как я понял, он употребляется в том же значении, что и знак принадлежности множеству?
Вообще-то это допустимое обозначение, например в Википедии написано:

Обычно выражение «f является „O“ большим („о“ малым) от g» записывается с помощью равенства f(x) = O(g(x)) (соответственно, f(x) = o(g(x))).
Это обозначение очень удобно, но требует некоторой осторожности при использовании (а потому в наиболее элементарных учебниках его могут избегать). Дело в том, что это не равенство в обычном смысле, а несимметричное отношение.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.10.2011, 16:23
Помогаю со студенческими работами здесь

Не понятно как исправить
Написал на своём мониторинге коменты и при выводе - когда печатаешь в наглую \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ или...

Не понятно, как зеленый
Помогите написать программы по условиям. 1)Вычислить сумму ряда. Суммирование осуществлять, пока разность между предыдущим и текущим...

Не понятно,как работает программа
Объясните пожалуйста,как работает программа(желательно пошагово и для каждой цели). Она либо создаёт подмножества для данного...

Не понятно как выполняется код
Integer a1 = 50; Integer a2 = 50; Integer b1 = 500; Integer b2 = 500; System.out.println(a1==a2); System.out.println(b1==b2); ...

Не понятно как работает define
sicp. задача на метод ньютона (define (sqrt-iter guess x) (if (good-enough? guess x) guess (sqrt-iter (improve guess x) x))) ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru