• Hakkımızda
  • Yazı Gönder
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilim - Teknoloji - Mühendislik
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
Yazılım Karavanı | Bilim - Teknoloji - Mühendislik
No Result
View All Result
Home Algoritmalar

İkili Arama (Binary Search) Algoritması

Ali Murat Çevik by Ali Murat Çevik
Mayıs 24, 2018
in Algoritmalar
2 min read
0
İkili Arama (Binary Search) Algoritması
WhatsApp'ta PaylaşTwitter'da PaylaşLinkedIn'de PaylaşTelegram'da Paylaş

İkili arama, arama algoritmaların temelini oluşturmaktadır. Algoritmalar konusunda sık sık karşımıza çıkmakta olan ikili arama algoritmasını inceleyelim.

Örneğin bir sayı dizisini ele alalım. Her adımda gerçekleşmek üzere, diziyi ikiye bölerek ilerlemektedir. Parçala fethet mantığı ile çalışmakta olan algoritmamız yalnızca diziler üzerinde değil, birçok problemin çözümünde kullanılmaktadır. Kabaca algoritmadan bahsedecek olursak:

– Dizinin ortasını bul
– Aranan değer mi ? (çık veya devam et)
– Aranan değer küçükse alt parçaya git, büyükse üst parçaya git
– Aralık 1 değeri veya 1 den küçükse sonlandır.

şeklinde ilerlemektedir. Algoritmanın tam verimle çalışabilmesi için sayı dizisinin sıralı olması gerekmektedir.

Örnek bir dizi olarak aşağıdaki diziyi alalım ve 10 elamanını arayalım:

[0 10 20 30 40 50 60 70 80 90]

bu dizide ilk olarak bakılacak eleman 50 ‘dir

10 < 50 şartı sağlandığı için dizinin alt değerlerine bakılır. Bundan sonra üzerine çalışılacak elamanlar

[0 10 20 30 40]

şeklindedir. Yeniden ortadaki değere bakılır. Bu sefer ortadaki terim 20 ‘dir. 10 < 20 şartı sağlandığı için ortadan ikiye bölünen dizinin alt tarafına bakılmaya devam edilir. Bu sefer ki arama yapacağımız dizimiz

[0 10]

şeklindedir. Aradığımız eleman 1 indisli olan 10 = 10 şartını sağladığı için algoritmamız burada sonlanmaktadır. Aranan elaman dizide bulunduğu ve dizinin sıralı olduğu taktirde istenen sonucu elde edebiliyoruz. Anlaşılması ve kodlanması açısından kolay olan bir algoritma olması sebebiyle örneklerde ve günlük hayatta sık sık tercih edilmektedir. En iyi durumda algoritmanın ilk seferde aradığı elamanı bulmasıdır 1 adımda gerçekleşir. Öte yandan sıralı olmayan bir dizinin ilk önce sıralama algoritmaları kullanılarak sıralanması gerekmektedir. Maliyet kullanılan sıralama algoritmasına göre değişecektir. Hızlı Sıralama (Quick Sort) kullanılarak ikili arama algoritması n log_2 (n)+ log_2 (n) adımda gerçekleşir.

Algoritmanın örnek C kodu aşağıda verilmiştir:

alim cevik
Tags: AlgoritmalarAli Murat ÇEVİKBinary Search
SendTweet13Share4Share
Önceki Gönderi

Linux Nedir?

Sonraki Gönderi

Hızlı Sıralama (Quick Sort) Algoritması

İlgili Yazılar

B Ağaçları (B Trees)

B Ağaçları (B Trees)

by İrem Türkü ÇINAR
Ağustos 24, 2020
0

Merhaba Yazılım Karavanı Ailesi :) Bir önceki yazımda ağaç veri yapısından bahsetmiştim. Şimdi sizlere B Ağaçlarından bahsedecek ve örnekler çözeceğim....

Ağaç Veri Yapısı

Ağaç Veri Yapısı

by İrem Türkü ÇINAR
Ağustos 24, 2020
0

Merhaba arkadaşlar :) Bu yazımda sizlere ağaç veri yapısından bahsedeceğim. Benim üniversitede aldığım dersler arasında pek çok yerde karşıma çıkmış...

Araya Sokma (Insertion Sort) Algoritması

Araya Sokma (Insertion Sort) Algoritması

by Ali Murat Çevik
Mayıs 24, 2018
0

Insertion sort algoritması temel sıralama algoritmalarından bir tanesidir. Algoritmanın mantığına göre elimizdeki A dizisinin elemanları arasında sıralama yapılmak istenildiğinde A...

Hızlı Sıralama (Quick Sort) Algoritması

Hızlı Sıralama (Quick Sort) Algoritması

by Ali Murat Çevik
Mayıs 24, 2018
0

Hızlı sıralama algoritması, sıralama algoritmalarında karşımıza sık sık çıkan bir algoritmadır. Böl ve yönet (divide and conquer) felsefesiyle çalışır. İlgili...

Bogo (Permutation) Sort Algoritması

Bogo (Permutation) Sort Algoritması

by Ali Murat Çevik
Mayıs 19, 2018
0

Bogo Sort algoritması Permütasyon Sıralaması veya Saçma Sıralama olarak da adlandırılır. Verilen sayı dizisinin rastgele karıştırılması ile olası bütün ihtimalleri...

Next Post
Hızlı Sıralama (Quick Sort) Algoritması

Hızlı Sıralama (Quick Sort) Algoritması

Araya Sokma (Insertion Sort) Algoritması

Araya Sokma (Insertion Sort) Algoritması

  • Popüler
  • Yorumlar
  • En Yeniler
Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Temmuz 26, 2021
B Ağaçları (B Trees)

B Ağaçları (B Trees)

Ağustos 24, 2020
Gini Index Kullanılarak Karar Ağacının (Decision Tree)  Oluşturulması

Gini Index Kullanılarak Karar Ağacının (Decision Tree) Oluşturulması

Ağustos 20, 2020
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

Mayıs 18, 2018
2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

6
Magento 2 Detaylı Kurulum & Hatalar

Magento 2 Detaylı Kurulum & Hatalar

5
Flutter’da TFLite Kullanımı

Flutter’da TFLite Kullanımı

4
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

2
Yeni Siber Güvenlik Kanunu: Yazılım Geliştiriciler İçin Neler Değişti?

Yeni Siber Güvenlik Kanunu: Yazılım Geliştiriciler İçin Neler Değişti?

Mart 19, 2025
Google Play Health Connect Politika Güncellemesi: Güncellenen Veri Koruma Kuralları

Google Play Health Connect Politika Güncellemesi: Güncellenen Veri Koruma Kuralları

Mart 10, 2025
Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Şubat 10, 2025
OneSignal Kullanarak Güvenli Push Notifications Oluşturma Rehberi

OneSignal Kullanarak Güvenli Push Notifications Oluşturma Rehberi

Aralık 14, 2024

Reklam

Yazılım Karavanı | Bilim – Teknoloji – Mühendislik

Bilgi Teknolojileri alanına meraklı herkesin buluşma noktası!

No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar

© 2020 Yazılım Karavanı Kaynak gösterilmesini rica ederiz.