რა არის for loop-ის დიდი O?
რა არის for loop-ის დიდი O?

ვიდეო: რა არის for loop-ის დიდი O?

ვიდეო: რა არის for loop-ის დიდი O?
ვიდეო: Ema Shamelashvili Xelis Pachi Puchi 2024, მაისი
Anonim

The დიდი O ა მარყუჟი არის გამეორებების რაოდენობა მარყუჟი განცხადებების რაოდენობაში მარყუჟი . ახლა განმარტების მიხედვით, დიდი ო უნდა იყოს ო (n*2) მაგრამ ასეა ო (n).

ანალოგიურად, თქვენ შეიძლება იკითხოთ, რა არის for loop-ის სირთულე?

ვინაიდან ჩვენ ვვარაუდობთ, რომ განცხადებები არის O(1), საერთო დრო for მარყუჟი არის N * O(1), რაც მთლიანობაში არის O(N). გარე მარყუჟი ასრულებს N-ჯერ. ყოველ ჯერზე გარე მარყუჟი ახორციელებს, შინაგანი მარყუჟი ასრულებს M-ჯერ. შედეგად, განცხადებები შინაგანი მარყუჟი შეასრულეთ სულ N * M ჯერ.

გარდა ამისა, რა არის Big O აღნიშვნა მაგალითით? The დიდი O ნოტაცია განსაზღვრავს ალგორითმის ზედა ზღვარს, ის ზღუდავს ფუნქციას მხოლოდ ზემოდან. ამისთვის მაგალითი , განვიხილოთ Insertion Sort-ის შემთხვევა. მას სჭირდება წრფივი დრო საუკეთესო შემთხვევაში და კვადრატული დრო უარეს შემთხვევაში. თამამად შეგვიძლია ვთქვათ, რომ Insertion სორტირების დროის სირთულე არის ო (n^2).

უბრალოდ, როგორ იპოვით for loop-ის დროის სირთულეს?

მაგალითად Selection Sort და Insertion Sort აქვს O(n^2) დროის სირთულე . O (შესვლა) დროის სირთულე ა მარყუჟი ითვლება O(Logn) თუ მარყუჟი ცვლადები იყოფა / მრავლდება მუდმივი რაოდენობით. მაგალითად, ბინარულ ძიებას აქვს O(Logn) დროის სირთულე.

როგორ გამოვთვალოთ დიდი O?

რომ გამოთვალეთ დიდი O , შეგიძლიათ გაიაროთ კოდის თითოეული ხაზი და დაადგინოთ არის თუ არა ო (1), ო (n) და ა.შ. და შემდეგ დააბრუნეთ თქვენი გაანგარიშება ბოლოს. მაგალითად შეიძლება იყოს ო (4 + 5n) სადაც 4 წარმოადგენს ოთხ შემთხვევას ო (1) და 5n წარმოადგენს ხუთ შემთხვევას ო (n).

გირჩევთ: