{"id":31231,"date":"2025-10-07T13:41:47","date_gmt":"2025-10-07T10:41:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31231"},"modified":"2025-10-07T13:41:47","modified_gmt":"2025-10-07T10:41:47","slug":"dogrusal-arama-linear-search-nedir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/","title":{"rendered":"Do\u011frusal Arama (Linear Search) Nedir?"},"content":{"rendered":"<p><body><\/p>\n<p>Arama algoritmalar\u0131, bilgisayar bilimlerinin temel ta\u015flar\u0131ndan biridir. Bir veri koleksiyonu i\u00e7inde belirli bir \u00f6\u011feyi bulma veya bu \u00f6\u011fenin varl\u0131\u011f\u0131n\u0131 do\u011frulama i\u015flemi, g\u00fcnl\u00fck hayatta kulland\u0131\u011f\u0131m\u0131z bir\u00e7ok uygulaman\u0131n (arama motorlar\u0131, dosya sistemleri, veritabanlar\u0131 vb.) temelini olu\u015fturur. Bu rehberde, arama algoritmalar\u0131n\u0131n en basit ve anla\u015f\u0131l\u0131r t\u00fcr\u00fc olan Do\u011frusal Arama (Linear Search) algoritmas\u0131n\u0131 C dilinde ad\u0131m ad\u0131m inceleyece\u011fiz. Algoritman\u0131n \u00e7al\u0131\u015fma prensibinden performans analizine, C dilindeki uygulamas\u0131ndan ne zaman kullan\u0131lmas\u0131 gerekti\u011fine dair kapsaml\u0131 bilgiler sunulacakt\u0131r.<\/p>\n<h2>Do\u011frusal Arama (Linear Search) Nedir?<\/h2>\n<p>Do\u011frusal arama, bir veri yap\u0131s\u0131 (genellikle bir dizi veya liste) i\u00e7inde belirli bir de\u011feri bulmak i\u00e7in kullan\u0131lan en temel arama algoritmas\u0131d\u0131r. Ad\u0131ndan da anla\u015f\u0131laca\u011f\u0131 gibi, algoritma dizinin ba\u015f\u0131ndan ba\u015flayarak her bir eleman\u0131 s\u0131rayla kontrol eder. Aranacak de\u011fer (hedef) bulunana kadar veya dizinin sonuna ula\u015f\u0131lana kadar bu i\u015fleme devam eder.<\/p>\n<p>Bu algoritmay\u0131 bir kitapl\u0131kta belirli bir kitab\u0131 bulmaya benzetebiliriz. Kitapl\u0131kta hi\u00e7bir s\u0131ralama veya indeksleme sistemi olmad\u0131\u011f\u0131n\u0131 varsayal\u0131m. Arad\u0131\u011f\u0131n\u0131z kitab\u0131 bulmak i\u00e7in, ilk raftan ba\u015flayarak her bir kitab\u0131 s\u0131rayla elinize al\u0131p ad\u0131n\u0131 kontrol etmeniz gerekir. Kitab\u0131 buldu\u011funuzda aramay\u0131 durdurursunuz. E\u011fer t\u00fcm raflar\u0131 kontrol etmenize ra\u011fmen kitab\u0131 bulamazsan\u0131z, o zaman arad\u0131\u011f\u0131n\u0131z kitab\u0131n kitapl\u0131kta olmad\u0131\u011f\u0131n\u0131 anlars\u0131n\u0131z.<\/p>\n<p>Do\u011frusal arama, basitli\u011fi nedeniyle kolayca anla\u015f\u0131labilir ve uygulanabilir bir algoritmad\u0131r. \u00d6zellikle k\u00fc\u00e7\u00fck boyutlu dizilerde veya verilerin s\u0131ral\u0131 olmad\u0131\u011f\u0131 durumlarda pratik bir \u00e7\u00f6z\u00fcm sunar. Ancak b\u00fcy\u00fck veri setlerinde performans a\u00e7\u0131s\u0131ndan baz\u0131 dezavantajlar\u0131 bulunmaktad\u0131r.<\/p>\n<h2>Algoritman\u0131n \u00c7al\u0131\u015fma Prensibi ve Ad\u0131mlar\u0131<\/h2>\n<p>Do\u011frusal arama algoritmas\u0131n\u0131n \u00e7al\u0131\u015fma prensibi olduk\u00e7a basittir ve a\u015fa\u011f\u0131daki ad\u0131mlarla \u00f6zetlenebilir:<\/p>\n<ol>\n<li><strong>Ba\u015flang\u0131\u00e7 Noktas\u0131:<\/strong> Arama i\u015flemi, dizinin ilk eleman\u0131ndan (genellikle indeks 0) ba\u015flar.<\/li>\n<li><strong>Kar\u015f\u0131la\u015ft\u0131rma:<\/strong> Mevcut eleman, aranan hedef de\u011fer ile kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r.<\/li>\n<li><strong>E\u015fle\u015fme Durumu:<\/strong>\n<ul>\n<li>E\u011fer mevcut eleman hedef de\u011fere e\u015fitse, hedef bulunmu\u015ftur. Algoritma, bu eleman\u0131n indeksini d\u00f6nd\u00fcrerek veya bir &#8220;bulundu&#8221; mesaj\u0131 vererek sona erer.<\/li>\n<li>E\u011fer mevcut eleman hedef de\u011fere e\u015fit de\u011filse, bir sonraki elemana ge\u00e7ilir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Devam Etme:<\/strong> Dizinin sonuna ula\u015f\u0131lana kadar 2. ve 3. ad\u0131mlar tekrarlan\u0131r.<\/li>\n<li><strong>Sonu\u00e7:<\/strong>\n<ul>\n<li>E\u011fer dizinin sonuna gelinmesine ra\u011fmen hedef de\u011fer bulunamam\u0131\u015fsa, hedef de\u011ferin dizide olmad\u0131\u011f\u0131 sonucuna var\u0131l\u0131r. Bu durumda genellikle -1 gibi \u00f6zel bir de\u011fer d\u00f6nd\u00fcr\u00fclerek &#8220;bulunamad\u0131&#8221; durumu i\u015faret edilir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Bu ad\u0131mlar, bir d\u00f6ng\u00fc (<code>for<\/code> veya <code>while<\/code> d\u00f6ng\u00fcs\u00fc) kullan\u0131larak kolayca programlanabilir. D\u00f6ng\u00fc, dizinin her bir eleman\u0131n\u0131 tek tek ziyaret ederek hedefle kar\u015f\u0131la\u015ft\u0131rma i\u015flemini ger\u00e7ekle\u015ftirir.<\/p>\n<h3>\u00d6rnek \u00c7al\u0131\u015fma Ak\u0131\u015f\u0131<\/h3>\n<p>Diyelim ki elimizde <code>[5, 12, 3, 8, 15]<\/code> dizisi var ve <code>8<\/code> de\u011ferini ar\u0131yoruz:<\/p>\n<ol>\n<li>Dizinin ilk eleman\u0131 olan <code>5<\/code> ile <code>8<\/code> kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r. E\u015fle\u015fme yok.<\/li>\n<li>\u0130kinci eleman olan <code>12<\/code> ile <code>8<\/code> kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r. E\u015fle\u015fme yok.<\/li>\n<li>\u00dc\u00e7\u00fcnc\u00fc eleman olan <code>3<\/code> ile <code>8<\/code> kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r. E\u015fle\u015fme yok.<\/li>\n<li>D\u00f6rd\u00fcnc\u00fc eleman olan <code>8<\/code> ile <code>8<\/code> kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r. E\u015fle\u015fme var! Algoritma, <code>8<\/code>&#8216;in indeksini (bu \u00f6rnekte 3) d\u00f6nd\u00fcrerek durur.<\/li>\n<\/ol>\n<p>E\u011fer <code>20<\/code> de\u011ferini ar\u0131yor olsayd\u0131k, t\u00fcm dizi taranacak ve <code>20<\/code> bulunamad\u0131\u011f\u0131 i\u00e7in algoritma -1 d\u00f6nd\u00fcrecekti.<\/p>\n<h2>C Dilinde Do\u011frusal Arama Uygulamas\u0131<\/h2>\n<p>Do\u011frusal arama algoritmas\u0131n\u0131 C dilinde uygulamak olduk\u00e7a basittir. Genellikle, arama i\u015flemini ger\u00e7ekle\u015ftiren bir fonksiyon yaz\u0131l\u0131r. Bu fonksiyon, aranacak diziyi, dizinin boyutunu ve aranacak hedef de\u011feri parametre olarak al\u0131r ve hedef bulunursa indeksini, bulunamazsa -1 d\u00f6nd\u00fcr\u00fcr.<\/p>\n<h3>Kod \u00d6rne\u011fi: <code>linear_search<\/code> Fonksiyonu<\/h3>\n<pre><code class=\"language-c\">#include <stdio.h> \/\/ Standart giri\u015f\/\u00e7\u0131k\u0131\u015f fonksiyonlar\u0131 i\u00e7in\n\n\/\/ Do\u011frusal arama fonksiyonu\n\/\/ Parametreler:\n\/\/   arr[]: Aranacak tam say\u0131 dizisi\n\/\/   n: Dizinin boyutu\n\/\/   target: Aranacak hedef de\u011fer\n\/\/ D\u00f6n\u00fc\u015f de\u011feri:\n\/\/   Hedef bulunursa eleman\u0131n indeksi\n\/\/   Hedef bulunamazsa -1\nint linear_search(int arr[], int n, int target) {\n    \/\/ Dizinin her bir eleman\u0131n\u0131 ba\u015ftan sona kontrol et\n    for (int i = 0; i < n; i++) {\n        \/\/ Mevcut eleman hedef de\u011fere e\u015fitse\n        if (arr[i] == target) {\n            \/\/ Eleman\u0131n indeksini d\u00f6nd\u00fcr\n            return i;\n        }\n    }\n    \/\/ D\u00f6ng\u00fc tamamland\u0131ysa ve hedef bulunamad\u0131ysa -1 d\u00f6nd\u00fcr\n    return -1;\n}\n\nint main() {\n    int my_array[] = {10, 25, 8, 42, 17, 33, 5};\n    int size = sizeof(my_array) \/ sizeof(my_array[0]); \/\/ Dizinin boyutunu hesapla\n    int search_target1 = 42; \/\/ Bulunacak hedef\n    int search_target2 = 99; \/\/ Bulunmayacak hedef\n\n    \/\/ \u0130lk hedefi ara\n    int result1 = linear_search(my_array, size, search_target1);\n\n    if (result1 != -1) {\n        printf(\"Hedef %d, dizide %d. indekste bulundu.\\n\", search_target1, result1);\n    } else {\n        printf(\"Hedef %d dizide bulunamad\u0131.\\n\", search_target1);\n    }\n\n    \/\/ \u0130kinci hedefi ara\n    int result2 = linear_search(my_array, size, search_target2);\n\n    if (result2 != -1) {\n        printf(\"Hedef %d, dizide %d. indekste bulundu.\\n\", search_target2, result2);\n    } else {\n        printf(\"Hedef %d dizide bulunamad\u0131.\\n\", search_target2);\n    }\n\n    return 0;\n}<\/code><\/pre>\n<h3>Kod A\u00e7\u0131klamas\u0131<\/h3>\n<ul>\n<li><code>#include <stdio.h><\/code>: Bu sat\u0131r, standart giri\u015f\/\u00e7\u0131k\u0131\u015f fonksiyonlar\u0131n\u0131 (\u00f6rne\u011fin <code>printf<\/code>) kullanabilmek i\u00e7in gereklidir.<\/li>\n<li><code>linear_search<\/code> fonksiyonu:\n<ul>\n<li><code>int arr[]<\/code>: Aranacak diziyi temsil eder. C'de diziler fonksiyona ge\u00e7irildi\u011finde asl\u0131nda dizinin ilk eleman\u0131n\u0131n adresi (bir i\u015faret\u00e7i) ge\u00e7irilir.<\/li>\n<li><code>int n<\/code>: Dizinin eleman say\u0131s\u0131n\u0131 belirtir. C'de bir fonksiyon i\u00e7inde bir dizinin boyutunu do\u011frudan <code>sizeof(arr)<\/code> ile alamazs\u0131n\u0131z, \u00e7\u00fcnk\u00fc <code>arr<\/code> art\u0131k bir i\u015faret\u00e7idir. Bu y\u00fczden boyutu ayr\u0131 bir parametre olarak ge\u00e7irmek zorunludur.<\/li>\n<li><code>int target<\/code>: Dizide aranan de\u011feri temsil eder.<\/li>\n<li><code>for (int i = 0; i < n; i++)<\/code>: Bu d\u00f6ng\u00fc, dizinin ilk eleman\u0131ndan (indeks 0) ba\u015flayarak son eleman\u0131na (indeks <code>n-1<\/code>) kadar t\u00fcm elemanlar\u0131 s\u0131rayla ziyaret eder.<\/li>\n<li><code>if (arr[i] == target)<\/code>: Her d\u00f6ng\u00fc ad\u0131m\u0131nda, mevcut eleman (<code>arr[i]<\/code>) ile aranan hedef (<code>target<\/code>) kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r.<\/li>\n<li><code>return i;<\/code>: E\u011fer bir e\u015fle\u015fme bulunursa, o eleman\u0131n indeksi (<code>i<\/code>) hemen d\u00f6nd\u00fcr\u00fcl\u00fcr ve fonksiyon sona erer. Bu, hedefin bulundu\u011fu anda aramay\u0131 durdurarak gereksiz i\u015flemleri engeller.<\/li>\n<li><code>return -1;<\/code>: E\u011fer d\u00f6ng\u00fc tamamen biter ve bu noktaya ula\u015f\u0131l\u0131rsa, bu demektir ki hedef de\u011fer dizide bulunamam\u0131\u015ft\u0131r. Bu durumda, genellikle \"bulunamad\u0131\" durumunu belirtmek i\u00e7in -1 de\u011feri d\u00f6nd\u00fcr\u00fcl\u00fcr.<\/li>\n<\/ul>\n<\/li>\n<li><code>main<\/code> fonksiyonu:\n<ul>\n<li>Bir \u00f6rnek dizi (<code>my_array<\/code>) tan\u0131mlan\u0131r.<\/li>\n<li><code>sizeof(my_array) \/ sizeof(my_array[0])<\/code> ifadesi, dizinin toplam boyutunu (byte cinsinden) bir eleman\u0131n boyutuna b\u00f6lerek dizideki eleman say\u0131s\u0131n\u0131 do\u011fru bir \u015fekilde hesaplar.<\/li>\n<li><code>linear_search<\/code> fonksiyonu farkl\u0131 hedeflerle \u00e7a\u011fr\u0131larak test edilir ve sonu\u00e7lar ekrana yazd\u0131r\u0131l\u0131r.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Bu kod, sadece tam say\u0131lar i\u00e7in de\u011fil, ayn\u0131 prensiple <code>char<\/code>, <code>float<\/code> veya di\u011fer temel veri tiplerindeki diziler i\u00e7in de uyarlanabilir. Tek yap\u0131lmas\u0131 gereken fonksiyon parametrelerinin ve dizi tipinin de\u011fi\u015ftirilmesidir.<\/p>\n<h2>Do\u011frusal Arama Algoritmas\u0131n\u0131n Performans\u0131 (Karma\u015f\u0131kl\u0131k Analizi)<\/h2>\n<p>Bir algoritman\u0131n performans\u0131n\u0131 de\u011ferlendirirken genellikle \"B\u00fcy\u00fck O Notasyonu\" (Big O Notation) kullan\u0131l\u0131r. Bu notasyon, algoritman\u0131n \u00e7al\u0131\u015fma s\u00fcresinin veya bellek kullan\u0131m\u0131n\u0131n girdi boyutu artt\u0131k\u00e7a nas\u0131l de\u011fi\u015fti\u011fini matematiksel olarak ifade eder. Do\u011frusal arama algoritmas\u0131n\u0131n zaman ve alan karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 inceleyelim:<\/p>\n<h3>Zaman Karma\u015f\u0131kl\u0131\u011f\u0131 (Time Complexity)<\/h3>\n<p>Zaman karma\u015f\u0131kl\u0131\u011f\u0131, algoritman\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gereken s\u00fcrenin girdi boyutuyla nas\u0131l orant\u0131l\u0131 oldu\u011funu g\u00f6sterir. Do\u011frusal arama i\u00e7in \u00fc\u00e7 farkl\u0131 senaryo vard\u0131r:<\/p>\n<ol>\n<li><strong>En \u0130yi Durum (Best Case): O(1)<\/strong>\n<ul>\n<li>Aranan hedef de\u011fer, dizinin ilk eleman\u0131 oldu\u011funda bu durum ortaya \u00e7\u0131kar. Algoritma sadece bir kar\u015f\u0131la\u015ft\u0131rma yapar ve hemen sonucu d\u00f6nd\u00fcr\u00fcr. Girdi boyutu ne olursa olsun sabit bir zamanda tamamlan\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>En K\u00f6t\u00fc Durum (Worst Case): O(n)<\/strong>\n<ul>\n<li>Aranan hedef de\u011fer, dizinin son eleman\u0131 oldu\u011funda veya dizide hi\u00e7 bulunmad\u0131\u011f\u0131nda bu durum ortaya \u00e7\u0131kar. Algoritma, hedefi bulmak veya bulunmad\u0131\u011f\u0131n\u0131 teyit etmek i\u00e7in dizideki t\u00fcm <code>n<\/code> eleman\u0131 kar\u015f\u0131la\u015ft\u0131rmak zorunda kal\u0131r. \u00c7al\u0131\u015fma s\u00fcresi, dizinin boyutuyla (<code>n<\/code>) do\u011fru orant\u0131l\u0131 olarak artar.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Ortalama Durum (Average Case): O(n)<\/strong>\n<ul>\n<li>Genel olarak, hedef de\u011ferin dizinin ortas\u0131nda bir yerde bulunma olas\u0131l\u0131\u011f\u0131 d\u00fc\u015f\u00fcn\u00fcld\u00fc\u011f\u00fcnde, algoritman\u0131n yakla\u015f\u0131k olarak <code>n\/2<\/code> kar\u015f\u0131la\u015ft\u0131rma yapmas\u0131 beklenir. B\u00fcy\u00fck O notasyonunda sabit katsay\u0131lar g\u00f6z ard\u0131 edildi\u011fi i\u00e7in ortalama durum karma\u015f\u0131kl\u0131\u011f\u0131 da <code>O(n)<\/code> olarak ifade edilir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><code>O(n)<\/code> karma\u015f\u0131kl\u0131\u011f\u0131, \"do\u011frusal zaman\" anlam\u0131na gelir. Bu, dizinin boyutu iki kat\u0131na \u00e7\u0131kt\u0131\u011f\u0131nda, arama s\u00fcresinin de yakla\u015f\u0131k olarak iki kat\u0131na \u00e7\u0131kaca\u011f\u0131 anlam\u0131na gelir. K\u00fc\u00e7\u00fck diziler i\u00e7in bu kabul edilebilir olsa da, milyonlarca eleman i\u00e7eren b\u00fcy\u00fck dizilerde do\u011frusal arama yava\u015f kalabilir.<\/p>\n<h3>Alan Karma\u015f\u0131kl\u0131\u011f\u0131 (Space Complexity): O(1)<\/h3>\n<p>Alan karma\u015f\u0131kl\u0131\u011f\u0131, algoritman\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in ihtiya\u00e7 duydu\u011fu ek bellek miktar\u0131n\u0131 ifade eder. Do\u011frusal arama, arama i\u015flemi s\u0131ras\u0131nda dizinin boyutu ne olursa olsun sabit miktarda ek bellek (bir d\u00f6ng\u00fc sayac\u0131, birka\u00e7 de\u011fi\u015fken vb.) kullan\u0131r. Bu nedenle, alan karma\u015f\u0131kl\u0131\u011f\u0131 <code>O(1)<\/code> olarak kabul edilir. Bu, algoritman\u0131n bellek a\u00e7\u0131s\u0131ndan olduk\u00e7a verimli oldu\u011fu anlam\u0131na gelir.<\/p>\n<h2>Do\u011frusal Arama Ne Zaman Kullan\u0131lmal\u0131 ve Ne Zaman Kullan\u0131lmamal\u0131d\u0131r?<\/h2>\n<p>Her algoritma gibi, do\u011frusal araman\u0131n da belirli kullan\u0131m senaryolar\u0131 ve s\u0131n\u0131rlamalar\u0131 vard\u0131r. Do\u011fru algoritmay\u0131 se\u00e7mek, uygulaman\u0131z\u0131n performans\u0131n\u0131 ve verimlili\u011fini do\u011frudan etkiler.<\/p>\n<h3>Do\u011frusal Arama Kullan\u0131m Senaryolar\u0131 (Ne Zaman Kullan\u0131lmal\u0131?)<\/h3>\n<ol>\n<li><strong>K\u00fc\u00e7\u00fck Boyutlu Diziler:<\/strong> Dizideki eleman say\u0131s\u0131 az oldu\u011funda (\u00f6rne\u011fin birka\u00e7 y\u00fczden az), do\u011frusal araman\u0131n basitli\u011fi ve kolay uygulanabilirli\u011fi, performans dezavantajlar\u0131n\u0131 tolore edilebilir k\u0131lar. Karma\u015f\u0131k bir algoritma uygulamak i\u00e7in harcanacak zaman, do\u011frusal araman\u0131n getirece\u011fi k\u00fc\u00e7\u00fck performans kayb\u0131ndan daha fazla olabilir.<\/li>\n<li><strong>S\u0131ral\u0131 Olmayan Veriler:<\/strong> Do\u011frusal arama, verilerin s\u0131ral\u0131 olup olmad\u0131\u011f\u0131na bak\u0131lmaks\u0131z\u0131n \u00e7al\u0131\u015fabilir. E\u011fer verileriniz s\u0131ral\u0131 de\u011filse ve s\u0131ralama i\u015flemi ek bir maliyet veya zaman gerektiriyorsa (\u00f6rne\u011fin veriler s\u00fcrekli de\u011fi\u015fiyorsa), do\u011frusal arama mant\u0131kl\u0131 bir se\u00e7enek olabilir. Di\u011fer baz\u0131 h\u0131zl\u0131 arama algoritmalar\u0131 (\u00f6rn. \u0130kili Arama) verilerin s\u0131ral\u0131 olmas\u0131n\u0131 gerektirir.<\/li>\n<li><strong>Sadece Bir Kez Arama Yap\u0131lacak Durumlar:<\/strong> Ayn\u0131 dizi \u00fczerinde \u00e7ok s\u0131k arama yapmayacaksan\u0131z, do\u011frusal arama yeterli olabilir. Veri yap\u0131s\u0131n\u0131 optimize etmek veya s\u0131ralamak i\u00e7in ek maliyete katlanmaya de\u011fmez.<\/li>\n<li><strong>Kodun Basitli\u011fi ve Anla\u015f\u0131l\u0131rl\u0131\u011f\u0131 \u00d6ncelikliyse:<\/strong> \u00d6zellikle e\u011fitim ama\u00e7l\u0131 veya h\u0131zl\u0131 prototipleme yaparken, do\u011frusal araman\u0131n basitli\u011fi ve kodunun kolay anla\u015f\u0131l\u0131r olmas\u0131 b\u00fcy\u00fck bir avantajd\u0131r.<\/li>\n<\/ol>\n<h3>Do\u011frusal Arama Ne Zaman Kullan\u0131lmamal\u0131d\u0131r? (Alternatifler ve Dezavantajlar\u0131)<\/h3>\n<ol>\n<li><strong>B\u00fcy\u00fck Boyutlu Diziler:<\/strong> Milyonlarca veya daha fazla eleman i\u00e7eren dizilerde do\u011frusal arama kabul edilemez derecede yava\u015f olabilir. <code>O(n)<\/code> karma\u015f\u0131kl\u0131\u011f\u0131 nedeniyle, girdi boyutu artt\u0131k\u00e7a bekleme s\u00fcresi katlanarak artacakt\u0131r.<\/li>\n<li><strong>S\u0131k S\u0131k Arama Yap\u0131lacak Durumlar:<\/strong> E\u011fer ayn\u0131 veri k\u00fcmesi \u00fczerinde s\u00fcrekli olarak arama i\u015flemleri yap\u0131l\u0131yorsa, do\u011frusal arama her seferinde t\u00fcm diziyi taramak zorunda kalaca\u011f\u0131 i\u00e7in verimsiz olacakt\u0131r.<\/li>\n<li><strong>S\u0131ral\u0131 Veriler \u0130\u00e7in:<\/strong> E\u011fer verileriniz s\u0131ral\u0131 ise, \u0130kili Arama (Binary Search) gibi \u00e7ok daha h\u0131zl\u0131 algoritmalar kullan\u0131labilir. \u0130kili arama <code>O(log n)<\/code> zaman karma\u015f\u0131kl\u0131\u011f\u0131na sahiptir, bu da b\u00fcy\u00fck dizilerde do\u011frusal aramadan kat kat daha h\u0131zl\u0131d\u0131r. \u00d6rne\u011fin, 1 milyon elemanl\u0131 bir dizide do\u011frusal arama ortalama 500.000 kar\u015f\u0131la\u015ft\u0131rma yaparken, ikili arama en fazla 20 kar\u015f\u0131la\u015ft\u0131rma yapar.<\/li>\n<li><strong>\u00c7ok H\u0131zl\u0131 Arama Gerektiren Durumlar:<\/strong> Veritaban\u0131 indeksleri, s\u00f6zl\u00fck uygulamalar\u0131 gibi anl\u0131k arama sonu\u00e7lar\u0131 beklenen durumlarda Hash Tablolar\u0131 (Hash Maps\/Tables) veya Arama A\u011fa\u00e7lar\u0131 (Search Trees) gibi veri yap\u0131lar\u0131 ve algoritmalar tercih edilmelidir. Bu yap\u0131lar ortalama durumda <code>O(1)<\/code> gibi \u00e7ok h\u0131zl\u0131 arama s\u00fcreleri sunabilirler.<\/li>\n<\/ol>\n<p>\u00d6zetle, do\u011frusal arama basitli\u011fi ve her t\u00fcrl\u00fc dizi \u00fczerinde \u00e7al\u0131\u015fabilme yetene\u011fi nedeniyle g\u00fc\u00e7l\u00fc bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Ancak, daha b\u00fcy\u00fck veri setleriyle veya daha y\u00fcksek performans gereksinimleriyle kar\u015f\u0131la\u015f\u0131ld\u0131\u011f\u0131nda, daha geli\u015fmi\u015f arama algoritmalar\u0131n\u0131 ve veri yap\u0131lar\u0131n\u0131 de\u011ferlendirmek \u00f6nemlidir.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Do\u011frusal arama algoritmas\u0131, bilgisayar bilimleri ve programlamaya yeni ba\u015flayanlar i\u00e7in arama algoritmalar\u0131n\u0131 anlaman\u0131n ilk ve en basit ad\u0131m\u0131d\u0131r. Her ne kadar b\u00fcy\u00fck veri setlerinde performans a\u00e7\u0131s\u0131ndan s\u0131n\u0131rl\u0131l\u0131klar\u0131 olsa da, k\u00fc\u00e7\u00fck dizilerde, s\u0131ral\u0131 olmayan verilerde veya kodun basitli\u011finin \u00f6ncelikli oldu\u011fu durumlarda hala ge\u00e7erli ve kullan\u0131\u015fl\u0131 bir \u00e7\u00f6z\u00fcmd\u00fcr. C dilindeki uygulamas\u0131 da olduk\u00e7a basittir ve temel programlama mant\u0131\u011f\u0131n\u0131 peki\u015ftirmek i\u00e7in harika bir \u00f6rnektir.<\/p>\n<p>Bu rehberde, do\u011frusal araman\u0131n tan\u0131m\u0131ndan \u00e7al\u0131\u015fma prensibine, C dilindeki somut bir uygulamas\u0131ndan performans analizine ve pratik kullan\u0131m senaryolar\u0131na kadar geni\u015f bir yelpazede bilgi sunulmu\u015ftur. Bu bilgiler, arama algoritmalar\u0131n\u0131n temelini anlaman\u0131za ve daha karma\u015f\u0131k veri yap\u0131lar\u0131 ile algoritmalar\u0131na ge\u00e7i\u015f yapman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>1. Do\u011frusal arama s\u0131ral\u0131 dizilerde \u00e7al\u0131\u015f\u0131r m\u0131?<\/strong><br \/>\nEvet, do\u011frusal arama s\u0131ral\u0131 dizilerde de \u00e7al\u0131\u015f\u0131r. Ancak, s\u0131ral\u0131 diziler i\u00e7in \u0130kili Arama (Binary Search) gibi \u00e7ok daha verimli algoritmalar bulunmaktad\u0131r. Do\u011frusal arama, s\u0131ral\u0131 dizilerde gereksiz yere t\u00fcm elemanlar\u0131 tarayabilir.<\/p>\n<p><strong>2. Do\u011frusal arama neden en basit arama algoritmas\u0131d\u0131r?<\/strong><br \/>\nDo\u011frusal arama, veri yap\u0131s\u0131 \u00fczerinde herhangi bir \u00f6n ko\u015ful (\u00f6rne\u011fin verinin s\u0131ral\u0131 olmas\u0131) gerektirmez ve do\u011frudan her eleman\u0131 s\u0131rayla kontrol etme prensibine dayan\u0131r. Bu basit \u00e7al\u0131\u015fma mant\u0131\u011f\u0131, onu anla\u015f\u0131lmas\u0131 ve uygulanmas\u0131 en kolay arama algoritmas\u0131 yapar.<\/p>\n<p><strong>3. Do\u011frusal araman\u0131n en b\u00fcy\u00fck dezavantaj\u0131 nedir?<\/strong><br \/>\nEn b\u00fcy\u00fck dezavantaj\u0131, b\u00fcy\u00fck veri setlerinde d\u00fc\u015f\u00fck performansa sahip olmas\u0131d\u0131r. Zaman karma\u015f\u0131kl\u0131\u011f\u0131 <code>O(n)<\/code> oldu\u011fu i\u00e7in, dizi boyutu artt\u0131k\u00e7a arama s\u00fcresi do\u011frusal olarak artar. Milyonlarca eleman i\u00e7eren bir dizide arama yapmak \u00e7ok uzun s\u00fcrebilir.<\/p>\n<p><strong>4. Do\u011frusal arama yerine hangi algoritmalar kullan\u0131labilir?<\/strong><br \/>\nVerinin \u00f6zelliklerine ve performans gereksinimlerine ba\u011fl\u0131 olarak farkl\u0131 algoritmalar kullan\u0131labilir:<\/p>\n<ul>\n<li><strong>\u0130kili Arama (Binary Search):<\/strong> Veri s\u0131ral\u0131 ise \u00e7ok daha h\u0131zl\u0131d\u0131r (<code>O(log n)<\/code>).<\/li>\n<li><strong>Hash Tablolar\u0131 (Hash Maps\/Tables):<\/strong> Ortalama durumda \u00e7ok h\u0131zl\u0131 arama (<code>O(1)<\/code>) sa\u011flar, ancak daha fazla bellek kullanabilir ve \u00e7ak\u0131\u015fma (collision) y\u00f6netimi gerektirir.<\/li>\n<li><strong>Arama A\u011fa\u00e7lar\u0131 (Search Trees - \u00f6rn. AVL, K\u0131rm\u0131z\u0131-Siyah A\u011fa\u00e7lar):<\/strong> Veri ekleme, silme ve arama i\u015flemlerini dengeli bir \u015fekilde <code>O(log n)<\/code> zamanda ger\u00e7ekle\u015ftiren dinamik veri yap\u0131lar\u0131d\u0131r.<\/li>\n<\/ul>\n<p><strong>5. Do\u011frusal arama i\u00e7in \u00f6zel bir veri yap\u0131s\u0131na ihtiya\u00e7 var m\u0131?<\/strong><br \/>\nHay\u0131r, do\u011frusal arama herhangi bir dizi veya liste benzeri veri yap\u0131s\u0131 \u00fczerinde \u00e7al\u0131\u015fabilir. Herhangi bir \u00f6zel organizasyon veya s\u0131ralama gerektirmez. Bu da onun esnekli\u011fini art\u0131ran bir \u00f6zelliktir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Arama algoritmalar\u0131, bilgisayar bilimlerinin temel ta\u015flar\u0131ndan biridir. Bir veri koleksiyonu i\u00e7inde belirli bir \u00f6\u011feyi bulma veya bu \u00f6\u011fenin var","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-31231","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Do\u011frusal Arama (Linear Search) Nedir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Do\u011frusal Arama (Linear Search) Nedir?\" \/>\n<meta property=\"og:description\" content=\"Arama algoritmalar\u0131, bilgisayar bilimlerinin temel ta\u015flar\u0131ndan biridir. Bir veri koleksiyonu i\u00e7inde belirli bir \u00f6\u011feyi bulma veya bu \u00f6\u011fenin var\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-07T10:41:47+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Do\u011frusal Arama (Linear Search) Nedir?\",\"datePublished\":\"2025-10-07T10:41:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/\"},\"wordCount\":2310,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/\",\"name\":\"Do\u011frusal Arama (Linear Search) Nedir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-07T10:41:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Do\u011frusal Arama (Linear Search) Nedir?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Do\u011frusal Arama (Linear Search) Nedir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/","og_locale":"tr_TR","og_type":"article","og_title":"Do\u011frusal Arama (Linear Search) Nedir?","og_description":"Arama algoritmalar\u0131, bilgisayar bilimlerinin temel ta\u015flar\u0131ndan biridir. Bir veri koleksiyonu i\u00e7inde belirli bir \u00f6\u011feyi bulma veya bu \u00f6\u011fenin var","og_url":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-07T10:41:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Do\u011frusal Arama (Linear Search) Nedir?","datePublished":"2025-10-07T10:41:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/"},"wordCount":2310,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/","url":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/","name":"Do\u011frusal Arama (Linear Search) Nedir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-07T10:41:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/dogrusal-arama-linear-search-nedir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Do\u011frusal Arama (Linear Search) Nedir?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31231"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31231\/revisions"}],"predecessor-version":[{"id":31232,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31231\/revisions\/31232"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}