Dizilerde Arama (Search) İşlemleri: Python, PHP ve ASP Örnekleri

Dizilerde arama işlemleri, belirli bir veriyi bulmak için kullanılır. Arama algoritmaları, veriyi bulma süresini ve programın verimliliğini doğrudan etkiler. Bu makalede, tek boyutlu dizilerde arama işlemlerini Python, PHP ve ASP örnekleri ile inceleyeceğiz.

Dizilerde arama, veritabanı sorguları ve kullanıcı giriş doğrulama gibi durumlarda sıkça kullanılır.

Arama Algoritmalarının Temel Mantığı

Dizideki her elemanı kontrol et

Aranan değer bulunursa konumu veya değeri döndür

Tüm elemanlar tarandıktan sonra bulunamadıysa mesaj ver

Temel algoritmalar:

Linear Search (Doğrusal Arama)

Binary Search (İkili Arama) — sadece sıralı dizilerde

1. Python ile Dizilerde Arama

1Python - Linear Search
2
3notlar = [70, 85, 90, 60, 75]
4aranan = 90
5bulundu = False
6
7for i in range(len(notlar)):
8if notlar[i] == aranan:
9print(f"{aranan} bulundu, konumu: {i}")
10bulundu = True
11break
12
13if not bulundu:
14print(f"{aranan} dizide bulunamadı.")
15
16Python - Binary Search (sıralı dizi)
17
18dizi = [10, 20, 30, 40, 50]
19aranan = 30
20bas = 0
21son = len(dizi) - 1
22bulundu = False
23
24while bas <= son:
25orta = (bas + son) // 2
26if dizi[orta] == aranan:
27print(f"{aranan} bulundu, konumu: {orta}")
28bulundu = True
29break
30elif dizi[orta] < aranan:
31bas = orta + 1
32else:
33son = orta - 1
34
35if not bulundu:
36print(f"{aranan} dizide bulunamadı.")

2. PHP ile Dizilerde Arama

1PHP
2<?php
3# Linear Search
4$notlar = array(70, 85, 90, 60, 75);
5$aranan = 90;
6$bulundu = false;
7
8for ($i = 0; $i < count($notlar); $i++) {
9if ($notlar[$i] == $aranan) {
10echo "$aranan bulundu, konumu: $i\n";
11$bulundu = true;
12break;
13}
14}
15
16if (!$bulundu) {
17echo "$aranan dizide bulunamadı.\n";
18}
19
20# Binary Search (sıralı dizi)
21$dizi = array(10, 20, 30, 40, 50);
22$aranan = 30;
23$bas = 0;
24$son = count($dizi) - 1;
25$bulundu = false;
26
27while ($bas <= $son) {
28$orta = floor(($bas + $son) / 2);
29if ($dizi[$orta] == $aranan) {
30echo "$aranan bulundu, konumu: $orta\n";
31$bulundu = true;
32break;
33} elseif ($dizi[$orta] < $aranan) {
34$bas = $orta + 1;
35} else {
36$son = $orta - 1;
37}
38}
39
40if (!$bulundu) {
41echo "$aranan dizide bulunamadı.\n";
42}
43?>

3. ASP ile Dizilerde Arama

1' ASP - Linear Search
2Dim notlar(4)
3notlar(0) = 70
4notlar(1) = 85
5notlar(2) = 90
6notlar(3) = 60
7notlar(4) = 75
8
9aranan = 90
10bulundu = False
11
12For i = 0 To UBound(notlar)
13If notlar(i) = aranan Then
14Response.Write aranan & " bulundu, konumu: " & i & "<br>"
15bulundu = True
16Exit For
17End If
18Next
19
20If Not bulundu Then
21Response.Write aranan & " dizide bulunamadı.<br>"
22End If

Dizilerde Arama İpuçları

Küçük dizilerde Linear Search yeterlidir

Büyük ve sıralı dizilerde Binary Search kullanarak verimlilik artırılır

Arama algoritmaları ile dizideki tüm elemanları veya ilk bulunan değeri yakalayabilirsiniz

Arama algoritmalarını iyi bilmek, özellikle sıralı ve büyük veri kümelerinde performansı artırır.




konu hakkında tepkinizi verebilirsiniz