سبد خرید

بستن سبد خرید

هیچ محصولی در سبد خرید نیست.

تعداد محصول: 0 کل قیمت: تومان0

الگوریتم و کد جستجوی خطی

الگوریتم و کد جستجوی خطی ، یک الگور‍یتم جستجو به طور کلی الگوریتمی است که درون یک مجموعه از داده ها که توسط یک نوع ساختمان داده ذخیره شده اند مکان یک مقدار داده شده به عنوان آرگومان جستجو را درون ساختمان داده مشخص می کند، یا تعیین می کند در مجموعه وجود دارد یا خیر.

جستجوی خطی (linear search) یا جستجوی ترتیبی (sequential search) کلیه عناصر درون یک لیست را یکی یکی بررسی می کند تا آرگومان جستجو پیدا شود.

ساده ترین روش برای جستجو در آرایه استفاده از جستجوی خطی است. جستجوی خطی به صورت زیر عمل میکند:

  • از اولین عنصر آرایه شروع میکند و یکی یکی عناصر آرایه را با مقدار جستجو شده مقایسه میکند.
  • اگر یکی از عناصر با مقدار جستجو شده برابر بود،ایندکس آن عنصر را برمیگرداند و جستجو متوقف میشود.
  • اگر تا آخر آرایه عنصر مشابهی پیدا نشد مقدار ۱- را برمیگرداند.

فرض کنید که ما می خواهیم حروف “J” را پیدا کنیم که در اینجا کد به زبان ++c و جاوا را در اختیار شما قرار دادیم.

 

کد جستجوی خطی به زبان ++C:

#include <iostream> 
using namespace std; 
  
int search(int arr[], int n, int x) 
{ 
    int i; 
    for (i = 0; i < n; i++) 
        if (arr[i] == x) 
            return i; 
    return -1; 
} 
  
int main(void) 
{ 
    int arr[] = { 2, 3, 4, 10, 40 }; 
    int x = 10; 
    int n = sizeof(arr) / sizeof(arr[0]); 
    int result = search(arr, n, x); 
   (result == -1)? cout<<"Element is not present in array" 
                 : cout<<"Element is present at index " <<result; 
   return 0; 
}

 

کد جستجوی خطی به زبان جاوا:

public static int search(int arr[], int x) 
{ 
    int n = arr.length; 
    for(int i = 0; i < n; i++) 
    { 
        if(arr[i] == x) 
            return i; 
    } 
    return -1; 
} 
  
public static void main(String args[]) 
{ 
    int arr[] = { 2, 3, 4, 10, 40 };  
    int x = 10; 
      
    int result = search(arr, x); 
    if(result == -1) 
        System.out.print("Element is not present in array"); 
    else
        System.out.print("Element is present at index " + result); 
}

 

نکات مهم:

این الگوریتم به ندرت مورد استفاده قرار میگیرد زیرا الگوریتم های جستجوی دیگر مانند جستجوی دودویی اجازه میدهند مقایسه سریعتری نسبت به جستجوی خطی داشته باشیم.

مرتبه زمانی: مرتبه زمانی جستجوی خطی O(n) است.

پست های مشابه

19تیر 1400

CSS چیست و نقش آن در طراحی وب سایت که در این پست، طراحی و ساخت سایت را توضیح می دهیم، پس با ما همراه باشید. امروزه نرم افزارهایی برای طراحی وب سایت پدید آمده است که این امکان را می دهد که حتی بدون نیاز به دانش برنامه نویسی وب سایتی تولید و توسعه […]

265

0

18فروردین 1400

از آنجايي که دانشجويان زيادي جهت سفارش پروژه هاي C++ به سايت مراجعه نموده اند، در این مطلب پروژه ای مربوط به تبدیل اعداد دهدهی به اعداد دودویی است که در اختیار شما دوستان قرار دادیم…

560

0

2اسفند 1399

بدست آوردن تعداد بیشترین مقسوم علیه دربین چند عدد با پایتون که بسیاری از دانشجویان به دنبال این سورس کد هستند. در این مقاله…

3402

2

دیدگاه و پرسش