Αλγόριθμοι Αναζήτησης (Searching Algorithms)

Σειριακή αναζήτηση (Sequential search)

bool sequential_search(int arr[], int N, int target) {
	for (int i = 0; i < N; i++)
		if (target == arr[i])
			return true; // Το στοιχείο βρέθηκε 
	return false; // Το στοιχείο δεν βρέθηκε 
}

Δυαδική αναζήτηση (Binary search)

Η δυαδική αναζήτηση μπορεί να χρησιμοποιηθεί μόνο αν ο πίνακας είναι ήδη ταξινομημένος.

bool binary_search(int arr[], int N, int target) {
	int first = 0, last = N - 1, mid;
	while (first <= last) {
		mid = (first + last) / 2; // Εύρεση μεσαίου στοιχείου 
		if (arr[mid] == target)
			return true; // Το στοιχείο βρέθηκε 
		else
			if (target < arr[mid])
				last = mid - 1; // Ψάξε στο «αριστερό» μέρος 
			else
				first = mid + 1; // Ψάξε στο «δεξί» μέρος 
	}
	return false; // Το στοιχείο δεν βρέθηκε 
}