შინაარსზე გადასვლა

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

არ არის რედაქტირების რეზიუმე
[შემოწმებული ვერსია][შემოწმებული ვერსია]
No edit summary
No edit summary
'''ორობითი (ბინარული) ძებნის ალგორითმი''' — საძიებო ალგორითმი, რომელიც პოულობს გარკვეული მნიშვნელობის პოზიციას დახარისხებულ (სორტირებულ) მასივში. ის უარეს შემთხვევაში ლოგარითმულ დროში მუშაობს, აკეთებს <math>O(\log n)</math> შედარებას, სადაც <math>n</math> არის ელემენტების რაოდენობა მასივში, <math>O</math> არის [[ასიმპტოტური აღნიშვნა O-დიდი]] და <math>\log</math> არის [[ლოგარითმი]] ფუძით 2. დიდ მასივებში ორობითი ძებნა გაცილებით სწრაფია ვიდრე წრფივი ძებნა, თუმცა, აუცილებელია მასივი იყოს დახარისხებული, რათა შევძლოთ ორობითი ძებნისმოცემული ალგორითმის გამოყენება.
 
==ალგორითმი==
int start=0,end=vec.size()-1,mid;
while(start<=end){
mid=(start+(end-start)/2;
if(vec[mid]==x)return mid;
else if(vec[mid]>x)end=mid-1;
481

რედაქტირება