Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
Петька   (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;
Скачать: [xml.tar.bz2];

Наверх





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


15-1199110257
Aust
2007-12-31 17:10
2008.02.03
Новый год, уже


15-1198361045
linkomizin
2007-12-23 01:04
2008.02.03
нужно к 24.12.07..


2-1199604655
Катунов Юрий
2008-01-06 10:30
2008.02.03
Игнорирование кода от совместного доступа к файлу Windows XP


2-1199519421
Kley
2008-01-05 10:50
2008.02.03
Вывод данных таблицы в QRmemo





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский