Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: CL | DM;

Вниз

Оценка алгоритмов   Найти похожие ветки 

 
Петька   (2008-01-08 23:54) [0]

Уважаемые мастера может кто поможет.
Преподаватель сказал сделать по каждому из O(n) O(n2) O(log2n)
алгоритм как пример оценки алгоритма.

Я не понял что от меня хотят, как минимум хотя бы разъясните.
Не в понятках я.:(


 
palva ©   (2008-01-09 00:04) [1]

Это значит если объем входных данных увеличивается в два раза, то объем вычислений увеличивается примерно:
в два раза (линейный поиск в массиве)
в четыре раза (сортировка массива простейшими методами)
на какую-то постоянную величину (дихотомический поиск)


 
Vendict ©   (2008-01-09 00:08) [2]

вот этого должно хватить, чтобы понять.
там даже с примерами алгоритмов.

http://algolist.manual.ru/misc/o_n.php


 
Петька   (2008-01-09 01:25) [3]

спасибо.
Я правильно понял?

c := a * b;  --- O(n)

for i:=0 to n do
 c := Power((a * b), n); --- O(n2)


 
MBo ©   (2008-01-09 05:32) [4]

>Я правильно понял?
нет. лучше несложные книжки по алгоритмам почитать


 
Vendict ©   (2008-01-09 12:30) [5]

c := a * b;  --- O(n)    ----  O(1) одна операция
for i:=0 to n do  c := Power((a * b),n); --- O(n2) цикл, следовательно O(n)
for i:=0 to n do For j:=0 to n do   ---  O(n^2)


классический пример O(log2n) - это двоичный поиск.


 
Петька   (2008-01-09 16:00) [6]

понял, спасибо за ответы!!!
но все равно надо будет потом почитать на эту тему чтонить,убрать пробел так сказать


 
Петька   (2008-01-09 20:30) [7]

1) O(n)  
for i:=0 to n do
 c := Power((a * b),n);

2) O(n^2)
for i:=0 to n do
 For j:=0 to n do
   c := a*b*n;

тема с двоичным поиском ему не понравилась, сказал другое что нить показать


 
palva ©   (2008-01-09 20:58) [8]

> сказал другое что нить показать
Тогда пусть сюда приходит. Мы ему покажем.


 
Vendict ©   (2008-01-09 23:30) [9]

что-то я кроме двоичного поиска ничего не вспоминаю...
ведь O(log2n) получается только при делении пополам.
можешь конечно предоставить ему как пример процедуру добавления нового элемента в двоичное дерево. тоже O(log2n) но боюсь не только ты, но и он не поймёт, о чём речь )

придётся лезть за своим блокнотом...

только это "псевдокод".  a - массив (куча)

procedure heapify (i)
l:=2*i;
r:=2*i+1;
if l<=heapsize(a) and a[l]>a[i] then large:=l
                                else large:=i;
if r<=heapsize(a) and a[r]>a[large] then large:=r;
if large<>i then {
                    swap(a[i],a[large])
                    heapify(large)
                 }
end



Страницы: 1 вся ветка

Текущий архив: 2008.02.03;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.046 c
3-1190631434
misha_gr
2007-09-24 14:57
2008.02.03
Уважаемый модератор раздела "Базы".


5-1166076046
DimaBr
2006-12-14 09:00
2008.02.03
Создание компонентов !!!


15-1198741568
Cj
2007-12-27 10:46
2008.02.03
Уязвимость Каспера 6.0.2.614


15-1198487694
clickmaker
2007-12-24 12:14
2008.02.03
Bug IDE Delphi 7 (Build 8.1)?


1-1193671998
avoid
2007-10-29 18:33
2008.02.03
Как узнать, по какой колонке был клик в TListView?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский