Bilgisayar biliminde, sığ öncelikli arama ya da enine arama, bir düğümlerini, başlangıç noktasına daha yakın olanlara öncelik vererek arayan bir algoritmadır. Algoritma ziyaret ettiği düğümlerin bütün komşularını bir kuyruğa ekler ve ziyaret edeceği düğümleri kuyruktaki sıraya göre seçer. Eğer arama yapılan çizge bir ağaç ise kuyruk kullanmaya gerek olmaz.
Sığ öncelikli arama | |
---|---|
Düğümlerin ziyaret etme sıraları | |
Sınıf | Arama algoritması |
Zaman karmaşıklığı | |
Alan karmaşıklığı |
Sığ öncelikli arama 1945'te Michael Burke ve Konrad Zuse tarafından çizgelerde bağlı bileşenleri tespit etmek için geliştirilmiştir. Ancak, bu algoritmanın sunulduğu doktora tezi kabul edilmemiştir ve 1972 yılında yayınlanmıştır. 1959'da tarafından, bir labirentteki en kısa yolu bulmak için, 1961 yılında ondan bağımsız bir şekilde C. Y. Lee tarafından devrelerde bağlantıların belirlenmesi amacıyla tekrar icat edilmiştir.
Sözde kod
Girdi olarak başlagıç düğümünü (ilk_düğüm
) ve hedeflenen düğümü (son_düğüm
) alan ve çıktı olarak bu ikisi arasındaki en kısa yolu bulmak için gerekli olan bilgiyi (yol_listesi
) döndüren sözde kod aşağıdaki gibidir. Daha sonra yol_listesi
kullanılarak, son_düğüm
'den geriye doğru her düğümün öncülü takip edilerek tam yol bulunabilir.
fonksiyon sığ_öncelikli_arama (ilk_düğüm, son_düğüm): # listeleri yarat açık_liste := yeni kuyruk kapalı_liste := yeni kuyruk yol_listesi := yeni sözlük # aramayı başlat ilk_düğüm'ü açık_liste'ye ekle # ana döngü döngü (açık_liste boş değilse): # açılacak düğümü kuyruktan al açılan_düğüm := açık_liste'den çıkar # hedefi kontrol et eğer (açılan_düğüm = son_düğüm): döndür yol_listesi eğer_sonu komşu_listesi := açılan_düğüm'ün komşuları # komşu döngüsü döngü (komşu_listesi boş değilse): mevcut_komşu := komşu_listesi'nden çıkar eğer (mevcut_komşu kapalı_liste'de ve açık_liste'de yoksa): mevcut_komşu'yu açık_liste'ye ekle (mevcut_komşu: açılan_düğüm) ikilisini yol_listesi'ne ekle eğer_sonu açılan_düğüm'ü kapalı_liste'ye ekle döngü_sonu # komşu döngüsü döngü_sonu # ana döngü döndür boş liste fonksiyon_sonu
Ayrıca bakınız
Kaynakça
- ^ a b Şeker, Şadi Evren. "Şekillerde Sığ Öncelikli Arama". bilgisayarkavramlari.sadievrenseker.com. Şadi Evren Şeker. 14 Haziran 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2018.
- ^ Morin, Pat; Tunç, Ayşegül (Ocak 2016). Açık Veri Yapıları (Java ile). İstanbul: ekitapprojesi.com. s. 416. Erişim tarihi: 18 Şubat 2018.
- ^ Zuse, Konrad (1972). Der Plankalkül (Tez) (Almanca). Konrad Zuse Internet Archive. ss. 96-105. 6 Mayıs 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2018.
- ^ (1959). Proceedings of the International Symposium on the Theory of Switching. Harvard University Press. ss. 285-292.
- ^ (2008). The Algorithm Design Manual. Springer. s. 480. doi:10.1007/978-1-84800-070-4_4.
- ^ ; Schardl, Tao B. (2010). A Work-Efficient Parallel Breadth-First Search Algorithm (or How to Cope with the Nondeterminism of Reducers) (PDF). ACM Symp. on Parallelism in Algorithms and Architectures. 15 Aralık 2017 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 19 Şubat 2018.
- ^ Lee, C. Y. (1961). "An Algorithm for Path Connections and Its Applications". IRE Transactions on Electronic Computers.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bilgisayar biliminde sig oncelikli arama ya da enine arama bir dugumlerini baslangic noktasina daha yakin olanlara oncelik vererek arayan bir algoritmadir Algoritma ziyaret ettigi dugumlerin butun komsularini bir kuyruga ekler ve ziyaret edecegi dugumleri kuyruktaki siraya gore secer Eger arama yapilan cizge bir agac ise kuyruk kullanmaya gerek olmaz Sig oncelikli aramaDugumlerin ziyaret etme siralariSinifArama algoritmasiZaman karmasikligiO V E displaystyle O V E Alan karmasikligiO V displaystyle O V Sig oncelikli arama 1945 te Michael Burke ve Konrad Zuse tarafindan cizgelerde bagli bilesenleri tespit etmek icin gelistirilmistir Ancak bu algoritmanin sunuldugu doktora tezi kabul edilmemistir ve 1972 yilinda yayinlanmistir 1959 da tarafindan bir labirentteki en kisa yolu bulmak icin 1961 yilinda ondan bagimsiz bir sekilde C Y Lee tarafindan devrelerde baglantilarin belirlenmesi amaciyla tekrar icat edilmistir Sozde kodCanlandirmali sig oncelikli arama ornegi Girdi olarak baslagic dugumunu ilk dugum ve hedeflenen dugumu son dugum alan ve cikti olarak bu ikisi arasindaki en kisa yolu bulmak icin gerekli olan bilgiyi yol listesi donduren sozde kod asagidaki gibidir Daha sonra yol listesi kullanilarak son dugum den geriye dogru her dugumun onculu takip edilerek tam yol bulunabilir fonksiyon sig oncelikli arama ilk dugum son dugum listeleri yarat acik liste yeni kuyruk kapali liste yeni kuyruk yol listesi yeni sozluk aramayi baslat ilk dugum u acik liste ye ekle ana dongu dongu acik liste bos degilse acilacak dugumu kuyruktan al acilan dugum acik liste den cikar hedefi kontrol et eger acilan dugum son dugum dondur yol listesi eger sonu komsu listesi acilan dugum un komsulari komsu dongusu dongu komsu listesi bos degilse mevcut komsu komsu listesi nden cikar eger mevcut komsu kapali liste de ve acik liste de yoksa mevcut komsu yu acik liste ye ekle mevcut komsu acilan dugum ikilisini yol listesi ne ekle eger sonu acilan dugum u kapali liste ye ekle dongu sonu komsu dongusu dongu sonu ana dongu dondur bos liste fonksiyon sonuAyrica bakinizDerin oncelikli arama Arama algoritmasiKaynakca a b Seker Sadi Evren Sekillerde Sig Oncelikli Arama bilgisayarkavramlari sadievrenseker com Sadi Evren Seker 14 Haziran 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 19 Subat 2018 Morin Pat Tunc Aysegul Ocak 2016 Acik Veri Yapilari Java ile Istanbul ekitapprojesi com s 416 Erisim tarihi 18 Subat 2018 Zuse Konrad 1972 Der Plankalkul Tez Almanca Konrad Zuse Internet Archive ss 96 105 6 Mayis 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 19 Subat 2018 1959 Proceedings of the International Symposium on the Theory of Switching Harvard University Press ss 285 292 2008 The Algorithm Design Manual Springer s 480 doi 10 1007 978 1 84800 070 4 4 Schardl Tao B 2010 A Work Efficient Parallel Breadth First Search Algorithm or How to Cope with the Nondeterminism of Reducers PDF ACM Symp on Parallelism in Algorithms and Architectures 15 Aralik 2017 tarihinde kaynagindan arsivlendi PDF Erisim tarihi 19 Subat 2018 Lee C Y 1961 An Algorithm for Path Connections and Its Applications IRE Transactions on Electronic Computers