სხვაობა რანდომიზებულ და რეკურსიულ ალგორითმს შორის

სხვაობა რანდომიზებულ და რეკურსიულ ალგორითმს შორის
სხვაობა რანდომიზებულ და რეკურსიულ ალგორითმს შორის

ვიდეო: სხვაობა რანდომიზებულ და რეკურსიულ ალგორითმს შორის

ვიდეო: სხვაობა რანდომიზებულ და რეკურსიულ ალგორითმს შორის
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი. 2024, ივლისი
Anonim

რანდომიზებული vs რეკურსიული ალგორითმი

რანდომიზებული ალგორითმები აერთიანებს შემთხვევითობის განცდას თავის ლოგიკაში შემთხვევითი არჩევანის გაკეთების გზით ალგორითმის შესრულებისას. ამ შემთხვევითობის გამო, ალგორითმის ქცევა შეიძლება შეიცვალოს ფიქსირებული შეყვანისთვისაც კი. მრავალი პრობლემისთვის, რანდომიზებული ალგორითმები იძლევა ყველაზე მარტივ და ეფექტურ გადაწყვეტილებებს. რეკურსიული ალგორითმები დაფუძნებულია იმ აზრზე, რომ პრობლემის გადაწყვეტა შეიძლება მოიძებნოს იმავე პრობლემის მცირე ქვეპრობლემების გადაწყვეტილებების მოძიებით. რეკურსია ფართოდ გამოიყენება კომპიუტერულ მეცნიერებაში არსებული პრობლემების გადაწყვეტის მოსაძებნად და მრავალი მაღალი დონის პროგრამირების ენა მხარს უჭერს რეკურსიას.

რა არის რანდომიზებული ალგორითმი?

რანდომიზებული ალგორითმები აერთიანებს შემთხვევითობის განცდას შემთხვევითი არჩევანის გაკეთებით, რომელიც ხელმძღვანელობს ალგორითმის შესრულებას. ეს ჩვეულებრივ კეთდება ფსევდო შემთხვევითი რიცხვების გენერატორის მიერ გენერირებული შემთხვევითი რიცხვების ნაკრების დამატებით შეყვანის სახით. ამის გამო, ალგორითმის ქცევა შეიძლება შეიცვალოს თუნდაც ფიქსირებული შეყვანისთვის. Quicksort არის ფართოდ ცნობილი ალგორითმი, რომელიც იყენებს შემთხვევითობის კონცეფციას და აქვს O(n log n) გაშვების დრო შეყვანის თვისებების მიუხედავად. გარდა ამისა, რანდომიზებული დამატებითი მშენებლობის მეთოდი გამოიყენება სამშენებლო სტრუქტურებისთვის, როგორიცაა ამოზნექილი კორპუსი გამოთვლით გეომეტრიაში. ამ მეთოდით, შეყვანის წერტილები შემთხვევით იცვლება და შემდეგ სათითაოდ ჩასმულია სტრუქტურაში. რანდომიზებული ალგორითმის დანერგვა შედარებით მარტივია, ვიდრე იმავე პრობლემის განმსაზღვრელი ალგორითმის განხორციელება. ყველაზე დიდი გამოწვევა რანდომიზებული ალგორითმის შემუშავებაში მდგომარეობს დროისა და სივრცის სირთულის ასიმპტოტური ანალიზის შესრულებაში.

რა არის რეკურსიული ალგორითმი?

რეკურსიული ალგორითმები დაფუძნებულია იმ აზრზე, რომ პრობლემის გადაწყვეტა შეიძლება მოიძებნოს იმავე პრობლემის მცირე ქვეპრობლემების გადაწყვეტილებების მოძიებით. რეკურსიულ ალგორითმში ფუნქცია განისაზღვრება მისი ადრინდელი ვერსიის მიხედვით. მნიშვნელოვანია აღინიშნოს, რომ ამ თვითმმართველობის მითითებას უნდა ჰქონდეს შეწყვეტის პირობა, რათა თავიდან იქნას აცილებული სამუდამოდ მითითება. შეწყვეტის პირობა მოწმდება მანამ, სანამ თავად მინიშნება იქნება. რეკურსიული ალგორითმის საწყისი ნაბიჯი დაკავშირებულია პრობლემის რეკურსიული განმარტების საბაზისო პუნქტთან. საფეხურები, რომლებიც მოჰყვება საწყის საფეხურს, დაკავშირებულია პრობლემის ინდუქციურ პუნქტებთან. რეკურსიული ალგორითმები იძლევა უფრო მარტივ გადაწყვეტას ბევრ სიტუაციაში და ის უფრო ახლოსაა ბუნებრივ აზროვნებასთან, ვიდრე იგივე პრობლემის განმეორებითი ალგორითმი. მაგრამ ზოგადად, რეკურსიულ ალგორითმებს მეტი მეხსიერება სჭირდება და ისინი გამოთვლით ძვირია.

რა განსხვავებაა რანდომიზებულ და რეკურსიულ ალგორითმს შორის?

შემთხვევითი ალგორითმები არის ალგორითმები, რომლებიც იყენებენ შემთხვევითობის განცდას შემთხვევითი არჩევანის გაკეთებით, რამაც შეიძლება გავლენა მოახდინოს ალგორითმის შესრულებაზე, ხოლო რეკურსიული ალგორითმები არის ალგორითმები, რომლებიც დაფუძნებულია იმ აზრზე, რომ პრობლემის გადაწყვეტის პოვნა შესაძლებელია. გადაწყვეტილებები იმავე პრობლემის მცირე ქვეპრობლემებისთვის. შემთხვევითი ალგორითმების შემთხვევითობის გამო, ალგორითმის ქცევა შეიძლება შეიცვალოს თუნდაც ერთი და იგივე შეყვანისთვის (ალგორითმის სხვადასხვა შესრულებაში). მაგრამ ეს შეუძლებელია რეკურსიულ ალგორითმებში და რეკურსიული ალგორითმის ქცევა იგივე იქნება ფიქსირებული შეყვანისთვის.

გირჩევთ: