Кіріспе

Массивті ретті түрде қарау

Компьютерлік ғылымда сызықтық іздеу немесе реттік іздеу – тізімдегі элементті табу әдісі. Ол тізімдегі әрбір элементті сәйкестік табылғанға дейін немесе тізімнің соңына дейін ретті түрде тексереді. Сызықтық іздеу ең жаман жағдайда сызықтық уақытта жұмыс істейді және ең көп дегенде n салыстыру жасайды, мұнда n – тізімнің ұзындығы. Егер әрбір элементтің ізделу ықтималдығы бірдей болса, сызықтық іздеудің орташа жағдайы n/2 салыстыруды құрайды, бірақ әрбір элемент үшін іздеу ықтималдығы өзгеретін болса, орташа жағдай өзгеруі мүмкін. Сызықтық іздеу көбінесе тиімді болмайды, себебі басқа іздеу алгоритмдері мен тәсілдері, мысалы, екілік іздеу алгоритмі және хэш-кестелер, қысқа тізімдерден басқа барлық жағдайларда іздеуді едәуір жылдамдатуға мүмкіндік береді.

Алгоритм

Сызықтық іздеу тізімдегі әрбір элементті нысаналық мәнмен сәйкес келетін элементті тапқанға дейін тізбектеп тексереді. Егер алгоритм тізімнің соңына жетсе, іздеу сәтсіздікке ұшырайды.

Қолдану

Сызықтық іздеуді іске асыру әдетте өте оңай, және тізімде аз ғана элемент болғанда немесе ретсіз тізімде бір рет іздеу жасағанда тиімді. Егер бір тізімде көптеген мәндерді іздеу қажет болса, жылдам әдіс қолдану үшін тізімді алдын ала өңдеу пайдалы болуы мүмкін. Мысалы, тізімді сұрыптап, екілік іздеуді қолдануға немесе одан тиімді іздеу дерек құрылымын құруға болады. Тізімнің мазмұны жиі өзгеріп тұрса, оны қайта-қайта ұйымдастырудың қиындығы көбірек болуы мүмкін. Сондықтан, теориялық тұрғыдан басқа іздеу алгоритмдері (мысалы, екілік іздеу) сызықтық іздеуден жылдам болғанымен, практикада орташа көлемдегі массивтерде (шамамен 100 элементке дейін) басқа әдіс қолдану тиімсіз болуы мүмкін. Ал үлкен массивтерде, деректер жеткілікті көлемде болса ғана, басқа, жылдам іздеу әдістерін қолданудың мәні бар, себебі деректерді дайындауға (сұрыптауға) кеткен алғашқы уақыт көптеген сызықтық іздеулерге тең болуы мүмкін.