სწრაფი სორტირება

გვერდიდან testwiki
18:16, 13 სექტემბერი 2020-ის ვერსია, imported>InternetArchiveBot (გადარჩენა 1 წყაროების და მონიშვნა 0 მკვდრად.) #IABot (v2.0.7)
(განსხ.) ←წინა ვერსია | მიმდინარე ვერსია (განსხ.) | უახლესი ვერსია → (განსხ.)
ნავიგაციაზე გადასვლა ძიებაზე გადასვლა
ალგორითმის ანიმაციური ვიზუალიზაცია.

სწრაფი სორტირება — დახარისხების ეფექტიანი ალგორითმი, რომელიც 1959 წელს შეიმუშავა ბრიტანელმა კომპიუტერულმა მეცნიერმა ტონი ჰოარმა. ეს ალგორითმი დღესდღეობით ყველაზე გამოყენებადი ალგორითმია. მიჩნეულია, რომ კარგად იმპლემენტირებული სწრაფი სორტირების ალგორითმი 2-3-ჯერ სწრაფია მის მთავარ კონკურენტებზე,შერწყმით სორტირებასა და გროვის სორტირებაზე.

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

ალგორითმი

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

რესურსები ინტერნეტში