پروژه برنامه مویسی

پروژه برنامه نویسی

پروژه برنامه مویسی

پروژه برنامه نویسی

جست و جوی خطی: جست و جوی دو دویی

جست و جوی ارایه ها: جست و جوی خطی

در جست و جوی خطی هر عنصر از ارایه با کلید جست و جو مقایسه می شود.چون ارایه به ترتیب خاصی نیست احتمال یافتن مقدار مورد نظر در اولین عنصر با احتمال یافتن ان در اخرین عنصر یکسان است. بنابراین برنامه باید کلید جست و جو را به طور متوسز با نیمی از عناصر ارایه مقایسه کند تا مقدار مورد نظر را پیدا کند. اگر مقدار مورد مزبور در ارایه وجود نداشته باشد برنا مه باید کلید جست و جو را با همه ی عناصر ارایه مقایسه کند تا این موضوع را بفهمد.

** روش جست و جوی خطی برای ارایه های کوچک یا ارایه های مرتب نشده مناسب است برای برای ارایه های بزرگ روش کارامدی نیست.

با استفاده از یک برنامه که در ان از این شیوه استفاده شده است با کاربرد و نحوه ی ییاده سازی ان اشنا می شویم.

 


 #include<iostream>

#include<conio.h>
using namespace std;
int linearSearch( const int [], int, int);
int main()
{
const int arraySize = 100;
int a[arraySize], searchKey, element;
for(int x = 0; x < arraySize; x++)
a[x] = 2 * x;
cout << "Enter integer search key:" << endl;
cin >> searchKey;
element = linearSearch(a, searchKey, arraySize);
if(element != -1)
cout << "Found value in element " << element << endl;
else
cout << "Value not found" << endl;

getch();
return 0;
}
//%%%%%%%%%%%
int linearSearch(const int array[], int key, int sizeOfArray)
{
for(int n = 0; n < sizeOfArray; n++)
if(array[n] == key)
return n;
return -1;
}
نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.