Რა არის ალგორითმი?

აღმოაჩინეთ როგორ ალგორითმები აწარმოებს მსოფლიოს

ალგორითმი არის ინსტრუქციების კომპლექტი. განმარტება მართლაც რომ მარტივი. ალგორითმი შეიძლება იყოს მარტივი როგორც მითითებები მოსწონს:

  1. წადი ქუჩაში
  2. მიიღეთ პირველი უფლება
  3. იპოვეთ მეორე სახლი მარცხნივ
  4. დაარტყა კარზე
  5. შეავსეთ პაკეტი.

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

ალგორითმის მაგალითი

ალგორითმის საერთო მაგალითი, რომელიც ჩვენ ყოველდღიურად ვიყენებთ, არის რეცეპტი. ამ ინსტრუქციის ინსტრუქცია გვაძლევს ყველა ინგრედიენტს, რაც გვჭირდება და მიუთითებს თუ რა უნდა გააკეთოს იმ ინგრედიენტებთან. ჟღერს ადვილი, არა?

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

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

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

როგორ ვითარდება ალგორითმების დახარისხება

ერთ-ერთი ყველაზე ადრეული ალგორითმი შეიქმნა bubble sort routine. Bubble Sort არის მეთოდი დახარისხების ნომრები, წერილები ან სიტყვა მიერ looping მეშვეობით მონაცემთა ნაკრები, შედარებით თითოეული კომპლექტი ღირებულებების გვერდიგვერდ მხარეს, და შევცვალე მათ საჭიროების შემთხვევაში.

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

ალგორითმი შეიძლება გამოიყურებოდეს როგორც მარტივი:

  1. გადადით პირველი ღირებულებით.
  2. შეამოწმეთ ეს მნიშვნელობა მომდევნო მნიშვნელობისა და სვოპის პოზიციების საჭიროების შემთხვევაში
  3. გადადით მომდევნო მნიშვნელობაზე და გაიმეორეთ შედარება.
  4. თუ ჩვენ სიის ბოლოში დავბრუნდებით, დაბრუნებაზე დაბრუნება თუ loop- ზე ნებისმიერი მნიშვნელობა გადანაწილდა.

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

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

ეს არის სადაც ალგორითმები შეუძლიათ მიიღონ მართლაც გიჟები. ან მართლაც საინტერესო, დამოკიდებულია იმაზე, თუ როგორ უყურებ მას.

მიუხედავად იმისა, რომ bubble sort მეთოდი ითვლება ერთერთი ყველაზე არაეფექტური მეთოდები დახარისხება ღირებულებების მრავალი გზა, თუ ორიგინალური სიაში არის presorted სწორად, bubble sort შეიძლება იყოს ერთ ერთი ყველაზე ეფექტური. ეს იმიტომ, რომ, მაგალითად, bubble sort ალგორითმი გაივლის სიაში ერთჯერადი და განსაზღვრავს სწორად დალაგებულია.

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

ის, რაც ჩვენ ვისწავლოთ ეხლა Bubble სორტირება

Facebook ალგორითმები და უფრო ყოველდღიურ ცხოვრებაში

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

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

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

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

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

ეს არის ალგორითმი ვითარდება. და ალგორითმი არ უნდა აწარმოოს კომპიუტერი ალგორითმი. ალგორითმი არის პროცესი და პროცესები ჩვენ გარშემოა.