• Hakkımızda
  • Bize Katıl
  • İletişim
Yazılım Karavanı | Bilişim - Teknoloji - Blog
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
    • Gönderiler
    • Destek
No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
    • Gönderiler
    • Destek
No Result
View All Result
Yazılım Karavanı | Bilişim - Teknoloji - Blog
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
0
İkili Arama (Binary Search) Algoritması
6
PAYLAŞIM
2.9k
OKUMA
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:

Tags: AlgoritmalarAli Murat ÇEVİKBinary Search
SendTweet7Share2Share
Önceki Gönderi

Linux Nedir?

Sonraki Gönderi

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

Related Posts

B Ağaçları (B Trees)

B Ağaçları (B Trees)

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

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
778

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
815

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
1.1k

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
4.3k

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...

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  • Popüler
  • Yorumlar
  • En Yeniler
İkili Arama (Binary Search) Algoritması

İkili Arama (Binary Search) Algoritması

Mayıs 24, 2018
Splash Screen Yapımı #Flutter

Splash Screen Yapımı #Flutter

Mayıs 25, 2020
Hızlı Sıralama (Quick Sort) Algoritması

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

Mayıs 24, 2018
En Gözde Flutter GitHub Repoları

En Gözde Flutter GitHub Repoları

Ağustos 6, 2020
2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

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

Flutter’da TFLite Kullanımı

Flutter’da TFLite Kullanımı

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

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

Magento 2 Detaylı Kurulum & Hatalar

Magento 2 Detaylı Kurulum & Hatalar

Numpy ile Sıfırdan Adım Adım Yapay Sinir Ağı

Numpy ile Sıfırdan Adım Adım Yapay Sinir Ağı

Şubat 26, 2021
TensorFlow EveryWhere Turkey 2021

TensorFlow EveryWhere Turkey 2021

Şubat 19, 2021
DATATHON Başlıyor! @METUSTATCLUB

DATATHON Başlıyor! @METUSTATCLUB

Şubat 12, 2021
Flutter Hackathon Başlıyor!

Flutter Hackathon Başlıyor!

Şubat 4, 2021

Reklam

Yazılım Karavanı | Bilişim – Teknoloji – Blog

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
    • Gönderiler
    • Destek

© 2020 Yazılım Karavanı Kaynak gösterilmesi zorunludur