{"id":96,"date":"2023-11-06T01:32:34","date_gmt":"2023-11-05T22:32:34","guid":{"rendered":"http:\/\/www.cuneytbayrak.com\/?p=96"},"modified":"2025-02-21T00:46:58","modified_gmt":"2025-02-20T21:46:58","slug":"ikili-arama-algoritmasi-binary-search","status":"publish","type":"post","link":"http:\/\/www.cuneytbayrak.com\/?p=96","title":{"rendered":"\u0130kili Arama Algoritmas\u0131 (Binary Search)"},"content":{"rendered":"<p>Bilgisayar bilimlerinde, \u00e7e\u015fitli veri yap\u0131lar\u0131n\u0131n (datastructures) \u00fczerinde bir bilginin aranmas\u0131 s\u0131ras\u0131nda kullan\u0131lan algoritmalar\u0131n genel ismi Arama Algoritmalar\u0131 olarak ge\u00e7er.<\/p>\n<p>Yap\u0131sal olarak arama algoritmalar\u0131n\u0131 iki grupta toplamak m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<ol>\n<li>Uninformed Search (Bilmeden arama)<\/li>\n<li>Informed Search (Bilerek arama)<\/li>\n<\/ol>\n<p>\u0130kili arama algoritmas\u0131 da bilmeden arama grubunda bir algoritmad\u0131r. Belirli bir dizi i\u00e7inde bize verilen de\u011fi\u015fkenin yerini bulmaya \u00e7al\u0131\u015f\u0131r\u0131z. \u0130kili arama algoritmas\u0131 i\u00e7in bir dizinin s\u0131ral\u0131 olmas\u0131 gerekmektedir. Yani ikili arama s\u0131ral\u0131 diziler \u00fczerinde arama yapmak i\u00e7in kullan\u0131lan bir algoritmad\u0131r. \u00dczerinde arama yap\u0131lacak olan dizi s\u0131ral\u0131 durumda de\u011filse bu algoritman\u0131n do\u011fru \u00e7al\u0131\u015fabilmesi i\u00e7in \u00f6ncelikle dizinin s\u0131ral\u0131 hale getirilmesi gerekir. \u0130kili arama algoritmas\u0131 \u00e7al\u0131\u015fmaya ba\u015flad\u0131\u011f\u0131nda ilk olarak dizinin ilk ve son elemanlar\u0131n\u0131n konumlar\u0131 tespit edilir. Bu bilgilerden faydalan\u0131larak orta eleman\u0131n konumu hesaplan\u0131r. Daha sonra aranan eleman dizinin orta eleman\u0131yla kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r ve ikisinin e\u015fit olup olmad\u0131\u011f\u0131na bak\u0131l\u0131r. Aranan eleman orta elemana e\u015fit ise arama ba\u015far\u0131l\u0131 bir \u015fekilde sonland\u0131r\u0131l\u0131r. Aksi takdirde aranan eleman\u0131n dizinin orta eleman\u0131ndan k\u00fc\u00e7\u00fck veya b\u00fcy\u00fck olma durumu incelenir. Aranan eleman orta elemandan b\u00fcy\u00fck ise aramaya orta eleman ile son eleman aras\u0131ndaki dizi elemanlar\u0131 ile devam edilir. Tam tersi durum s\u00f6z konusu ise aramaya ilk eleman ile dizinin orta eleman\u0131 aras\u0131ndaki dizi elemanlar\u0131 ile devam edilir. Bu i\u015flem her tekrar edildi\u011finde ilk, orta veya son elemanlar\u0131n konumlar\u0131n\u0131n de\u011fi\u015fmesi s\u00f6z konusu olabilir. \u00d6rne\u011fin ilk ve son eleman\u0131n konumlar\u0131n\u0131n 1 ve 3 oldu\u011fu durumda orta eleman\u0131n konumu bu iki say\u0131n\u0131n ortalamas\u0131 olan 2 say\u0131s\u0131 olacakt\u0131r. Buna kar\u015f\u0131n ilk ve son eleman\u0131n konumlar\u0131n\u0131n 4 ve 7 oldu\u011fu durumda orta eleman\u0131n konumu 5 olacakt\u0131r. Orta eleman\u0131n konumunun tam say\u0131 olmas\u0131 zorunludur. Bu \u00f6rnek hesaplamada iki say\u0131n\u0131n ortalamas\u0131 olan 5,5 say\u0131s\u0131n\u0131n ondal\u0131kl\u0131 olan k\u0131sm\u0131 bu sebeple at\u0131lmakta ve bir tam say\u0131 elde edilmektedir. Algoritman\u0131n \u00e7al\u0131\u015fmas\u0131 tamamland\u0131\u011f\u0131nda aranan eleman dizide bulunamam\u0131\u015fsa, arama i\u015flemi ba\u015far\u0131s\u0131z bir \u015fekilde sonland\u0131r\u0131l\u0131r. (\u015eekil)<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binarysearch.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-97 size-medium\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binarysearch-300x196.jpg\" alt=\"\" width=\"300\" height=\"196\" srcset=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binarysearch-300x196.jpg 300w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binarysearch-1024x671.jpg 1024w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binarysearch-768x503.jpg 768w, http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binarysearch.jpg 1026w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u0130kili arama algoritmas\u0131 lineer arama algoritmas\u0131na g\u00f6re \u00e7ok daha h\u0131zl\u0131 \u00e7al\u0131\u015fmaktad\u0131r. Bunun i\u00e7in a\u015fa\u011f\u0131da ki animasyonlar\u0131 dikkatlice incelemelisiniz.<\/p>\n<p>*****************************************************************************************<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binary-and-linear-search-animations.gif\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-98 size-full\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binary-and-linear-search-animations.gif\" alt=\"\" width=\"600\" height=\"400\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>*****************************************************************************************<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/linear-vs-binary-search-best-case.gif\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-101\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/linear-vs-binary-search-best-case.gif\" alt=\"\" width=\"600\" height=\"400\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>*****************************************************************************************<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/linear-vs-binary-search-worst-case.gif\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-102\" src=\"http:\/\/www.cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/linear-vs-binary-search-worst-case.gif\" alt=\"\" width=\"600\" height=\"400\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>*****************************************************************************************<\/p>\n<p><a href=\"http:\/\/www.flowgorithm.org\/download\/index.html\" target=\"_blank\" rel=\"noopener\">Flowgorithm<\/a>\u00a0uygulamas\u0131 ile bir flowchart \u00e7al\u0131\u015fmas\u0131 yapt\u0131m. A\u015fa\u011f\u0131 da bulabilirsiniz.<\/p>\n<p>Algoritman\u0131n tamam\u0131n\u0131 da\u00a0<a href=\"http:\/\/cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binarysearch.rar\">buradan<\/a>\u00a0indirebilirsiniz.<\/p>\n<p>Ayr\u0131ca algoritman\u0131n Python kodlar\u0131n\u0131\u00a0<a href=\"http:\/\/cuneytbayrak.com\/wp-content\/uploads\/2025\/02\/binarysearchpython.rar\" target=\"_blank\" rel=\"noopener\">buradan\u00a0<\/a>indirebilirsiniz.<\/p>\n<p>&nbsp;<\/p>\n<p>Kolay gele&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bilgisayar bilimlerinde, \u00e7e\u015fitli veri yap\u0131lar\u0131n\u0131n (datastructures) \u00fczerinde bir bilginin aranmas\u0131 s\u0131ras\u0131nda kullan\u0131lan algoritmalar\u0131n genel ismi Arama Algoritmalar\u0131 olarak ge\u00e7er. Yap\u0131sal olarak arama algoritmalar\u0131n\u0131 iki grupta toplamak m\u00fcmk\u00fcnd\u00fcr. Uninformed Search (Bilmeden&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"http:\/\/www.cuneytbayrak.com\/?p=96\">Devam\u0131n\u0131 Oku<span class=\"screen-reader-text\">\u0130kili Arama Algoritmas\u0131 (Binary Search)<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0,"footnotes":""},"categories":[2],"tags":[30],"class_list":["post-96","post","type-post","status-publish","format-standard","hentry","category-algoritmalar","tag-binarysearch","excerpt"],"_links":{"self":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/96","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=96"}],"version-history":[{"count":4,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/96\/revisions"}],"predecessor-version":[{"id":104,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=\/wp\/v2\/posts\/96\/revisions\/104"}],"wp:attachment":[{"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=96"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=96"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.cuneytbayrak.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}