IT აკადემია STEP! ჩვენ 1999 წლიდან ვსწავლობთ. მაღალი ხარისხის კომპიუტერულ განათლებას მოზრდილებში და ბავშვებში.

თბილისი
ШАГ логотип

რომელი სორტირების ალგორითმი გამოიყენოთ და როდის

3

პროგრამირება

27.05.2022

1434 დათვალიერება

ბინარული ძებნა გამოიყენება მასივის ეფექტურად გასავლელად, მაგრამ ბინარული ძიება მუშაობს მხოლოდ მაშინ, როდესაც მასივი სორტირებულია.

 

მაშინ, როგორ მოხდება მნიშვნელობების მასივის სორტირება?

 

მოკლე პასუხი: არსებობს მრავალი სახის სორტირება, და გადაწყვეტილების მიღება, თუ რომელი მეთოდი გამოვიყენოთ, დამოკიდებულია სიტუაციაზე.

 

უფრო დეტალურად რომ გავიგოთ, ჩვენ უნდა შევხედოთ სორტრების სამ სხვადასხვა ალგორითმს:

  • შეყვანითი სორტირება
  • შერწყმითი სორტირება
  • სელექციური სორტირება

 

სელექციური სორტირება

"სელექციური სორტირება" - ყველაზე საბაზისო ტიპი, ალგორითმი განმეორებითად პოულობს უმცირეს მნიშვნელობას დაუხარისხებელი ქვემასივიდან და გადააქვს იგი სორტირებულ ქვემასივში, მასივის დასაწყისში.

 

ქვემასივი არის მასივის ნაწილი. იქნება ორი ქვემასივი: სორტირებული ნაწილი და დარჩენილი არასორტირებული ნაწილი.

 

ქვემოთ მოცემულია მასივის მაგალითი:

 

თავდაპირველად, ყველაზე მცირე მნიშვნელობა დაყენებულია საწყისი ინდექსის მნიშვნელობაზე („5“). როდესაც მთელი მასივი გაივლება და აღმოჩნდება უმცირესი მნიშვნელობა („1“), შეცვალეთ უმცირესი მნიშვნელობა საწყისი ინდექსის მნიშვნელობით. გაიმეორეთ პროცესი მომდევნო მნიშვნელობისთვის და გაიმეორეთ მანამ, სანამ არ გადაკვეთთ მთელ მასივს.

 

გაითვალისწინეთ! როდესაც რაიმე სწრაფად გჭირდებათ, სელექციური სორტირება მარტივი, თუმცა არც ისე ეფექტური არჩევანია. 

 

შეყვანითი სორტირება

მეორე მხრივ, შეყვანითი სორტირება პოულობს მომდევნო მნიშვნელობებს და ახარისხებს მათ. ასე რომ, თქვენ უნდა გამოიყენოთ შეყვანითი სორტირება დაუხარისხებელი მასივის უმცირესი რიცხვიდან უდიდეს რიცხვამდე გადასაწყობად.

 

წარმოიდგინეთ, რომ სათითაოდ გირიგებენ კარტს. კარტების ორგანიზებაში დასახმარებლად, თავიდანვე იწყებთ დარიგებული კარტების სორტირებას ყველაზე მცირე მნიშვნელობით.

 

თქვენი ამჟამინდელი დაუხარისხებელი ხელის გათვალისწინებით, როგორ დაიწყებდით თქვენი კარტების დახარისხებას? შეყვანითი სორტირება გავს იმას, თუ როგორც დაახარისხებდით კარტის ამ ხელს.  

 

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

 

ისევ და ისევ, განსხვავება აქ არის ის, რომ სელექციური სორტირება მუდმივად პოულობს უმცირეს მნიშვნელობას, ხოლო შეყვანითი სორტირება პოულობს შემდგომ მნიშვნელობებს და ახარისხებს მათ.

 

განთავისუფლდი ბანალური საგანმანათლებლო სისტემისგან, დაიწყე დიზაინის სწავლა სრულიად ახალი მეთოდებით და გახდი წარმატებული სტეპერი!

→ დარეგისტრირდი ახლავე!

 

 

შერწყმითი სორტირება

და ბოლოს, შერწყმითი სორტირება არის ‘დაყავი და იბატონე’ პრინციპის ალგორითმი, რომელიც აგრძელებს მასივის ნახევრებად დაყოფას მანამ, სანამ გაყოფილი ქვემასივი არ შედგება ერთი ელემენტისგან. იქიდან, ის აერთიანებს ნახევრებს ისევ ერთად, ხოლო შერწყმისას ახდენს მნიშვნელობების სორტირებას.

 

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

 

საბაზისო ქეისი აბრუნებს მნიშვნელობას რეკურსიული ზომების გამოძახების გარეშე. მეთოდი, რომელიც თავის თავს იძახებს, არ გააგრძელებს მისი დანარჩენი კოდის გაშვებას მანამ, სანამ გამოძახებული მეთოდი არ დააბრუნებს მნიშვნელობას.

 

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

 

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

 

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

 

დაეუფლე აქტუალურ პროფესიებს - შემოგვიერთდით სტეპერების დიდ ოჯახში! 

IT Academy Step ლიდერი IT სფეროში , ახლა უკვე 100+ ფილიალით!

+995 577 538 549 ქ.თელავი, ნადიკვრის #23

+995 (32) 215-55-51 ქ.თბილისი, ა.ყაზბეგის 34/34 ბ

https://www.facebook.com/itstep.ge



ავტორის სწავლების ტექნოლოგიები::

IT აკადემია STEP

AI-ს ყველაფერი შეუძლია - მაშინ რაში გვჭირდება პროგრამისტი

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

კოდის შექმნიდან რეალური პრობლემის გადაჭრამდე წარმოიდგინე, ხელოვნურ ინტელექტს სთხოვ: „შემიქმენი ონლაინმაღაზია“ და ცოტა ხანში ეკრანზე პროდუქტების ჩამონათვალი, კალათა და შეკვეთის ღილაკი ჩნდება. ბუნებრივია, გაგიჩნდეს კითხვა: თუ ტექნოლოგია ამას უკვე აკეთებს, რატომ უნდა დახარჯო დრო პროგრამირების სწავლაში? AI-ს შეუძლია კოდის დაწერა, არსებული კოდის ახსნა, ცვლილებების შეთავაზáƒ

ШАГ логотип

მშობლებისთვის

შენი შვილი Roblox-ს თამაშობს - აი, რა უნდა იცოდეს ყველა მშობელმა

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

რა იზიდავს ბავშვს Roblox-ში „კიდევ ხუთი წუთი!“ - თუ თქვენი შვილი Roblox-ს თამაშობს, ეს ფრაზა ალბათ ნაცნობია. ეკრანზე ფერად პერსონაჟებს ხედავთ, ბავშვი კი მეგობრებთან ერთად დაბრკოლებებს გადის, ვირტუალურ სახლს აწყობს ან ახალ სამყაროს იკვლევს. ბუნებრივია, გიჩნდებათ კითხვები: რას აკეთებს ამდენ ხანს? ვის ესაუბრება? შეიძლება ამ ინტერესს სასარგებლო გაგრძელებაც ჰქონდეს? პასუხების მოსაძებნá

ШАГ логотип

ზრდასრულთათვის

რომელი პროფესიების სწავლა აღარ ღირს 2026 წელს?

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

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

ШАГ логотип

ზრდასრულთათვის

რატომ იღებს შენზე მეტ ხელფასს ადამიანი, რომელსაც ნაკლები გამოცდილება აქვს

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

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

ШАГ логотип

ამ საიტზე გამოიყენება Cookies

Კონფიდენციალურობის პოლიტიკა