{"id":5017,"date":"2021-09-11T17:53:02","date_gmt":"2021-09-11T17:53:02","guid":{"rendered":"https:\/\/serkanseker.com\/?p=5017"},"modified":"2021-09-11T17:53:02","modified_gmt":"2021-09-11T17:53:02","slug":"algoritmalarda-big-o-gosterimi-big-o-notation","status":"publish","type":"post","link":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/","title":{"rendered":"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation"},"content":{"rendered":"<div class=\"entry-content entry clearfix\">\n<p>Bir \u00f6nceki makalemde algoritmalarda <a href=\"https:\/\/www.serkanseker.com\/tr\/algoritama-karmasiklik-analizi\/\" rel=\"noreferrer noopener\" target=\"_blank\">karma\u015f\u0131kl\u0131k analizinin<\/a> ne oldu\u011funu ve en iyi ve en k\u00f6t\u00fc senaryolar\u0131n hangi durumlarda ortaya \u00e7\u0131kt\u0131\u011f\u0131ndan bahsetmi\u015ftim. Bu makalede ise algoritmalar\u0131n <strong>Big-O<\/strong> (B\u00fcy\u00fck-O) analizini nas\u0131l yapaca\u011f\u0131n\u0131z\u0131 anlataca\u011f\u0131m. <\/p>\n<p>Big-O g\u00f6sterimi, tasarlad\u0131\u011f\u0131m\u0131z bir algoritman\u0131n performans\u0131n\u0131 ve zaman karma\u015f\u0131kl\u0131\u011f\u0131n\u0131(time complexity) \u00f6l\u00e7mek i\u00e7in kulland\u0131\u011f\u0131m\u0131z en \u00f6nemli ara\u00e7lardan biridir. Ba\u015fka bir deyi\u015fle, algoritman\u0131n etkinli\u011fini tan\u0131mlamak i\u00e7in kulland\u0131\u011f\u0131m\u0131z dil ve metriktir.<\/p>\n<p>Big-O kavram\u0131n\u0131n ne oldu\u011funu bilmeden algoritma tasarlamak geli\u015ftirdi\u011finiz algoritmaya zararlar verebilir.<\/p>\n<p>Algoritmalar\u0131 tasarlarken farkl\u0131 veri yap\u0131lar\u0131na ihtiya\u00e7 duyar\u0131z.  Array, LinkedList, Queue, Stack, Binary Tree, Graph gibi. Ya da ayn\u0131 veri yap\u0131s\u0131 \u00fczerinde (\u00f6rne\u011fin Array) farkl\u0131 algoritmalar \u00e7al\u0131\u015ft\u0131rabiliriz. Bubble Sort, Insertion Sort, Quick Sort, Heap Sort, Merge Sort s\u0131ralama algortimalar\u0131 buna \u00f6rnektir.<\/p>\n<p>Se\u00e7ti\u011fimiz veri yap\u0131lar\u0131 algoritman\u0131n kalitesine, t\u00fcketti\u011fi kaynaklara, h\u0131z\u0131na ve kullan\u0131\u015f\u0131na farkl\u0131 etkiler yapar. Bu y\u00fczden yaz\u0131l\u0131m geli\u015ftiricilerin bu konuyu iyi bir \u015fekilde anlamas\u0131 laz\u0131m.<\/p>\n<h2 class=\"wp-block-heading\"><span id=\"Bazi_Big-O_Terimleri_ve_Senaryolari\">Baz\u0131 Big-O Terimleri ve Senaryolar\u0131<\/span><\/h2>\n<p>En yayg\u0131n \u00e7al\u0131\u015fma zamanlar\u0131  <em>O(log n)<\/em>,\u00a0<em>O(nlog n)<\/em>,\u00a0<em>O(n)<\/em>, <em>O(n\u00b2)\u2019\u00a0<\/em>dir. Ancak \u00e7al\u0131\u015fma zamanlar\u0131n\u0131n kesin bir listesi yoktur. \u00c7\u00fcnk\u00fc \u00e7al\u0131\u015fma zaman\u0131 hesaplan\u0131rken bir\u00e7ok de\u011fi\u015fken g\u00f6z \u00f6n\u00fcne al\u0131n\u0131r.  <\/p>\n<p>S\u0131k kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z Big-O zamanlar\u0131 \u015funlard\u0131r:<\/p>\n<ul class=\"wp-block-list\">\n<li>O(1) \u2192\u00a0<strong>Constant<\/strong><\/li>\n<li>O(N) \u2192\u00a0<strong>Linear<\/strong><\/li>\n<li>O(N\u00b2) \u2192\u00a0<strong>Quadratic<\/strong><\/li>\n<li>O(logN) \u2192\u00a0<strong>Logarithmic<\/strong><\/li>\n<li>O(NlogN) \u2192\u00a0<strong>Linearithmic<\/strong><\/li>\n<li>O(2^N)\u2192\u00a0<strong>Exponential<\/strong><\/li>\n<li>O(N!) \u2192\u00a0<strong>Factorial<\/strong><\/li>\n<\/ul>\n<p>Burada N, veri setinin b\u00fcy\u00fckl\u00fc\u011f\u00fc ya da eleman say\u0131s\u0131 iken c, sabit bir de\u011ferdir.<\/p>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"B\u00fcy\u00fck-O Karma\u015f\u0131kl\u0131k Grafi\u011fi\" class=\"wp-image-533\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 700px) 100vw, 700px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg 700w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi-300x189.jpg 300w\" height=\"440\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"700\" \/><figcaption>Big-O Karma\u015f\u0131kl\u0131k Grafi\u011fi<\/figcaption><\/figure>\n<p>Yukar\u0131daki grafikte veri setine ve yap\u0131lan i\u015fleme g\u00f6re algoritman\u0131n Big-O s\u0131n\u0131fland\u0131rmas\u0131 yer almaktad\u0131r. <\/p>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"B\u00fcy\u00fck-O Karma\u015f\u0131kl\u0131klar\u0131n\u0131n S\u0131ralanmas\u0131\" class=\"wp-image-534\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 700px) 100vw, 700px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasikliklarinin-siralanmasi.jpg\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasikliklarinin-siralanmasi.jpg 700w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasikliklarinin-siralanmasi-300x109.jpg 300w\" height=\"254\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"700\" \/><figcaption>Big-O Karma\u015f\u0131kl\u0131klar\u0131n\u0131n S\u0131ralanmas\u0131<\/figcaption><\/figure>\n<p>Bu tabloda ise en \u00e7ok kullan\u0131lan Big-O terimlerinin farkl\u0131 b\u00fcy\u00fckl\u00fcklerdeki veri girdilerine g\u00f6re kar\u015f\u0131la\u015ft\u0131rmalar\u0131 yer almaktad\u0131r. <\/p>\n<p>\u015eimdi baz\u0131 Big-O b\u00fcy\u00fckl\u00fcklerini \u00f6rneklerle daha iyi anlayal\u0131m.<\/p>\n<h3 class=\"wp-block-heading\"><span id=\"1_Sabit_Karmasiklik_Constant_Complexity_8211_O1\">1) Sabit Karma\u015f\u0131kl\u0131k (Constant Complexity) \u2013 O(1)<\/span><\/h3>\n<p>Sabit karma\u015f\u0131kl\u0131kta algoritmaya girilen veri seti ne kadar b\u00fcy\u00fck olursa olsun \u00e7al\u0131\u015fma zaman\u0131 ve kullan\u0131lan kaynak miktar\u0131 sabittir.<\/p>\n<ul class=\"wp-block-list\">\n<li>O(1) zamanda \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"Sabit Big-O Karma\u015f\u0131kl\u0131\u011f\u0131\" class=\"wp-image-535\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 416px) 100vw, 416px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Sabit-Big-O-Karmasikligi.jpg\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Sabit-Big-O-Karmasikligi.jpg 416w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Sabit-Big-O-Karmasikligi-300x225.jpg 300w\" height=\"312\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"416\" \/><figcaption>Sabit Karma\u015f\u0131kl\u0131k(Constant Complexity)<\/figcaption><\/figure>\n<p>\u00d6rne\u011fin,<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">var arr = [ 1,2,3,4,5];\narr[1]; \/\/ =&gt; 2<\/code><\/pre>\n<p>Algoritmaya girdi olarak girilen dizinin boyutu ne olursa olsun \u00e7al\u0131\u015fma zaman\u0131 hep <strong>sabit <\/strong>kalacakt\u0131r. \u00c7\u00fcnk\u00fc biz dizinin 1. eleman\u0131n\u0131 buluyoruz.<\/p>\n<h3 class=\"wp-block-heading\"><span id=\"2_Dogrusal_Karmasiklik_Linear_Complexity_8211_ON\">2) Do\u011frusal Karma\u015f\u0131kl\u0131k (Linear Complexity) \u2013 O(N)<\/span><\/h3>\n<p>Do\u011frusal karma\u015f\u0131kl\u0131kta algoritmaya girdi\u011fimiz veri setinin b\u00fcy\u00fckl\u00fc\u011f\u00fc artt\u0131k\u00e7a \u00e7al\u0131\u015fma zaman\u0131 da do\u011frusal olarak artar. Yani girilen veri setinin b\u00fcy\u00fckl\u00fc\u011f\u00fc ile \u00e7al\u0131\u015fma zaman\u0131 aras\u0131nda do\u011fru orant\u0131 vard\u0131r.<\/p>\n<ul class=\"wp-block-list\">\n<li>O(N) zamanda \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<p>\u00d6rnek olarak elimizde bulunan bir CD y\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnelim. Biz bu CD y\u0131\u011f\u0131n\u0131n\u0131n en alt\u0131ndaki CD ye ula\u015fmak i\u00e7in CD say\u0131s\u0131 kadar zaman harcamal\u0131y\u0131z. E\u011fer CD say\u0131s\u0131 artarsa harcad\u0131\u011f\u0131m\u0131z zamanda orant\u0131l\u0131 olarak artacakt\u0131r.<\/p>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"Do\u011frusal Big-O Karma\u015f\u0131kl\u0131\u011f\u0131\" class=\"wp-image-536\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 463px) 100vw, 463px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Dogrusal-Big-O-Karmasikligi.jpg\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Dogrusal-Big-O-Karmasikligi.jpg 463w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Dogrusal-Big-O-Karmasikligi-300x205.jpg 300w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Dogrusal-Big-O-Karmasikligi-220x150.jpg 220w\" height=\"316\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"463\" \/><figcaption>Do\u011frusal Karma\u015f\u0131kl\u0131k(Linear Complexity)<\/figcaption><\/figure>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-java\">for(int i=0; i&lt;n; i++){\n    print(&quot;Hello World&quot;);\n}<\/code><\/pre>\n<p>Burada program \u00e7\u0131kt\u0131 olarak n tane \u201cHello World\u201d yazacak. Dolay\u0131s\u0131yla n say\u0131s\u0131 artt\u0131k\u00e7a program\u0131n \u00e7al\u0131\u015fma zaman\u0131 da do\u011frusal olarak artacakt\u0131r.<\/p>\n<h3 class=\"wp-block-heading\"><span id=\"3_Quadratic_Complexity_8211_ON\">3) Quadratic Complexity \u2013 O(N\u00b2)<\/span><\/h3>\n<p>Basit\u00e7e, \u00e7al\u0131\u015fma zaman\u0131 girdi b\u00fcy\u00fckl\u00fc\u011f\u00fcn\u00fcn karesiyle do\u011fru orant\u0131l\u0131d\u0131r. Yani e\u011fer girdi b\u00fcy\u00fckl\u00fc\u011f\u00fc 2 ise 4 i\u015flem, 8 ise 16 i\u015flem ger\u00e7ekle\u015fir.<\/p>\n<ul class=\"wp-block-list\">\n<li>O(N\u00b2) zamanda \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<p>Genellikle s\u0131ralama(sorting) algoritmalar\u0131nda bu karma\u015f\u0131kl\u0131k g\u00f6r\u00fcl\u00fcr. <\/p>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"Quadratic Big-O Karma\u015f\u0131kl\u0131\u011f\u0131\" class=\"wp-image-537\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 382px) 100vw, 382px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Quadratic-Big-O-Karmasikligi.jpg\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Quadratic-Big-O-Karmasikligi.jpg 382w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Quadratic-Big-O-Karmasikligi-300x253.jpg 300w\" height=\"322\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"382\" \/><figcaption>Quadratic Karma\u015f\u0131k(Quadratic Complexity)<\/figcaption><\/figure>\n<p>\u0130\u00e7 i\u00e7e iki tane for d\u00f6ng\u00fcs\u00fc buna \u00e7ok iyi bir \u00f6rnektir.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-java\">for(int i=0; i&lt;arr.length; i++){\n    for(int j=0; j&lt;arr.length; j++){\n        print(&quot;Hello World&quot;);\n    }\n}<\/code><\/pre>\n<p>Tek bir for d\u00f6ng\u00fcs\u00fcnde \u00e7al\u0131\u015fma zaman\u0131 O(N) olur. Ancak i\u00e7 i\u00e7e 2 tane for d\u00f6ng\u00fcs\u00fc kullan\u0131ld\u0131\u011f\u0131 zaman \u00e7al\u0131\u015fma zaman\u0131 O(N\u00b2)\u2019dir.<\/p>\n<h3 class=\"wp-block-heading\"><span id=\"4_Logaritmik_Karmasiklik_Logarithmic_Complexity_8211_Olog_N\">4) Logaritmik Karma\u015f\u0131kl\u0131k (Logarithmic Complexity) \u2013 O(log N)<\/span><\/h3>\n<p>Logaritmik karma\u015f\u0131kl\u0131k genel olarak her seferinde problemi ikiye b\u00f6len algoritmalarda kar\u015f\u0131m\u0131za \u00e7\u0131kar. Di\u011fer bir deyi\u015fle, algoritmay\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in ge\u00e7en s\u00fcre\u00a0N\u00a0girdi boyutunun logaritmas\u0131 ile orant\u0131l\u0131ysa bu algoritma logaritmik zaman karma\u015f\u0131kl\u0131\u011f\u0131na sahiptir.<\/p>\n<ul class=\"wp-block-list\">\n<li>O(logN) zamanda \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"Logaritmik Big-O Karma\u015f\u0131kl\u0131\u011f\u0131\" class=\"wp-image-541\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 472px) 100vw, 472px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Logaritmik-Big-O-Karmasikligi.jpg\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Logaritmik-Big-O-Karmasikligi.jpg 472w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Logaritmik-Big-O-Karmasikligi-300x208.jpg 300w\" height=\"328\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"472\" \/><figcaption>Logaritmik Karma\u015f\u0131kl\u0131k(Logarithmic Complexity)<\/figcaption><\/figure>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">for(let i=n; i&gt;1; i\/=2){\n    console.log(i);\n}<\/code><\/pre>\n<h3 class=\"wp-block-heading\"><span id=\"5_Linearitmik_Complexity_8211_ONlogN\">5) Linearitmik Complexity \u2013 O(NlogN)<\/span><\/h3>\n<p>Linearitmik zaman karma\u015f\u0131kl\u0131\u011f\u0131, do\u011frusal bir algoritmadan biraz daha yava\u015ft\u0131r, ancak yine de ikinci dereceden bir algoritmadan \u00e7ok daha iyidir. <\/p>\n<ul class=\"wp-block-list\">\n<li>O(NlogN) zamanda \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\"><span id=\"6_Ustel_Karmasiklik_Exponential_Complexity_8211_O2N\">6) \u00dcstel Karma\u015f\u0131kl\u0131k (Exponential Complexity) \u2013 O(2^N)<\/span><\/h3>\n<p>\u00dcstel karma\u015f\u0131kl\u0131k (2 taban\u0131nda) logaritman\u0131n tersi \u015fekilde i\u015flem say\u0131s\u0131 \u00fcstel olarak algoritmalarda g\u00f6r\u00fcl\u00fcr.<\/p>\n<p>\u0130\u015flem a\u00e7\u0131s\u0131ndan katlanarak artan bu tip fonksiyonlar sisteminizi t\u00fcketir. Bu tip hesaplamalardan olabildi\u011fince ka\u00e7\u0131nmak gerekir. <\/p>\n<ul class=\"wp-block-list\">\n<li>O(2^N) zamanda \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"\u00dcstel Big-O Karma\u015f\u0131kl\u0131\u011f\u0131\" class=\"wp-image-540\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 323px) 100vw, 323px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Ustel-Big-O-Karmasikligi.jpg\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Ustel-Big-O-Karmasikligi.jpg 323w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/Ustel-Big-O-Karmasikligi-300x241.jpg 300w\" height=\"260\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"323\" \/><figcaption>\u00dcstel Big-O Karma\u015f\u0131kl\u0131\u011f\u0131<\/figcaption><\/figure>\n<p>\u00dcstel karma\u015f\u0131kl\u0131\u011fa \u00f6rnek olarak bir dizinin t\u00fcm alt k\u00fcmelerini verebiliriz.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">powerset(&#039;&#039;) \/\/ ...\n\/\/ n = 0, f(n) = 1;\npowerset(&#039;a&#039;) \/\/ , a...\n\/\/ n = 1, f(n) = 2;\npowerset(&#039;ab&#039;) \/\/ , a, b, ab...\n\/\/ n = 2, f(n) = 4;\npowerset(&#039;abc&#039;) \/\/ , a, b, ab, c, ac, bc, abc...\n\/\/ n = 3, f(n) = 8;\npowerset(&#039;abcd&#039;) \/\/ , a, b, ab, c, ac, bc, abc, d, ad, bd, abd, cd, acd, bcd...\n\/\/ n = 4, f(n) = 16;\npowerset(&#039;abcde&#039;) \/\/ , a, b, ab, c, ac, bc, abc, d, ad, bd, abd, cd, acd, bcd...\n\/\/ n = 5, f(n) = 32;<\/code><\/pre>\n<p>Burada hi\u00e7 eleman\u0131 olmayan bir dizinin 1 tane alt k\u00fcmesi varken; diziye bir eleman eklendi\u011finde 2 tane alt k\u00fcmesi olur. Ard\u0131ndan diziye bir tane daha eleman ekledi\u011fimiz zaman dizinin 4 tane alt k\u00fcmesi olur. Bu \u015fekilde diziye ne kadar eleman eklersek dizinin alt k\u00fcme say\u0131s\u0131 2^N oran\u0131nda artar.<\/p>\n<h3 class=\"wp-block-heading\"><span id=\"7_Faktoriyel_Karmasikligi_Factorial_Complexity_8211_ON\">7) Fakt\u00f6riyel Karma\u015f\u0131kl\u0131\u011f\u0131 (Factorial Complexity) \u2013 O(N!)<\/span><\/h3>\n<p>Fakt\u00f6riyel, kendisinden k\u00fc\u00e7\u00fck t\u00fcm pozitif tam say\u0131lar\u0131n \u00e7arp\u0131m\u0131d\u0131r. Dolay\u0131s\u0131yla fakt\u00f6riyel karma\u015f\u0131kl\u0131\u011fa sahip algoritmalar\u0131n karma\u015f\u0131kl\u0131\u011f\u0131 olduk\u00e7a h\u0131zl\u0131 b\u00fcy\u00fcr. Bu y\u00fczden bu karma\u015f\u0131kl\u0131\u011fa sahip algoritmalardan uzak durun.<\/p>\n<ul class=\"wp-block-list\">\n<li>O(N!) zamanda \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">getPermutations(&#039;ab&#039;) \/\/ ab, ba...\n\/\/ n = 2, f(n) = 2;\ngetPermutations(&#039;abc&#039;) \/\/ abc, acb, bac, bca, cab, cba...\n\/\/ n = 3, f(n) = 6;\ngetPermutations(&#039;abcd&#039;) \/\/ abcd, abdc, acbd, acdb, adbc, adcb, bacd...\n\/\/ n = 4, f(n) = 24;\ngetPermutations(&#039;abcde&#039;) \/\/ abcde, abced, abdce, abdec, abecd, abedc, acbde...\n\/\/ n = 5, f(n) = 120;<\/code><\/pre>\n<h2 class=\"wp-block-heading\"><span id=\"Son_Dusunceler\">Son D\u00fc\u015f\u00fcnceler<\/span><\/h2>\n<p>Bu makalemde algoritmalarda Big-O g\u00f6steriminin ne oldu\u011funu ve en \u00e7ok kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z Big-O terimlerini \u00f6rnekle anlatmaya \u00e7al\u0131\u015ft\u0131m.<\/p>\n<p><strong>Kaynaklar:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li>https:\/\/www.bigocheatsheet.com\/<\/li>\n<li>https:\/\/falconcoder.com\/2019\/11\/22\/algorithm-analysis-with-bigo-notation\/<\/li>\n<li>https:\/\/medium.com\/kodcular\/nedir-bu-big-o-notation-b8b9f1416d30<\/li>\n<li>https:\/\/medium.com\/algorithms-data-structures\/algoritma-karma%C5%9F%C4%B1kl%C4%B1%C4%9F%C4%B1-big-o-5f14316890a4<\/li>\n<li>https:\/\/medium.com\/@busrauzun\/cracking-the-coding-interviewdan-notlar-b%C3%B6l%C3%BCm-4-big-o-b9f9ce7fcf13<\/li>\n<\/ul>\n<p><!-- CONTENT END 1 -->\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bir \u00f6nceki makalemde algoritmalarda karma\u015f\u0131kl\u0131k analizinin ne oldu\u011funu ve en iyi ve en k\u00f6t\u00fc senaryolar\u0131n hangi durumlarda ortaya \u00e7\u0131kt\u0131\u011f\u0131ndan bahsetmi\u015ftim. Bu makalede ise algoritmalar\u0131n Big-O (B\u00fcy\u00fck-O) analizini nas\u0131l ya<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[575],"tags":[576,577,578,579,580,581,574,42,570,582,19,28,4,15,5],"class_list":["post-5017","post","type-post","status-publish","format-standard","hentry","category-turkish","tag-net-maui","tag-algoritma","tag-dependencyservice","tag-giris-ekrani","tag-kaynak-sozlukleri","tag-malzeme-temasi","tag-monkeycache","tag-mvvm","tag-nuget","tag-onboarding-screen","tag-sqlite","tag-syncfusion","tag-xamarin","tag-xamarin-android","tag-xamarin-forms"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation - Serkan Seker TR<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation - Serkan Seker TR\" \/>\n<meta property=\"og:description\" content=\"Bir \u00f6nceki makalemde algoritmalarda karma\u015f\u0131kl\u0131k analizinin ne oldu\u011funu ve en iyi ve en k\u00f6t\u00fc senaryolar\u0131n hangi durumlarda ortaya \u00e7\u0131kt\u0131\u011f\u0131ndan bahsetmi\u015ftim. Bu makalede ise algoritmalar\u0131n Big-O (B\u00fcy\u00fck-O) analizini nas\u0131l ya\" \/>\n<meta property=\"og:url\" content=\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/\" \/>\n<meta property=\"og:site_name\" content=\"Serkan Seker TR\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-11T17:53:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg\" \/>\n<meta name=\"author\" content=\"serkanadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"serkanadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/\"},\"author\":{\"name\":\"serkanadmin\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\"},\"headline\":\"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation\",\"datePublished\":\"2021-09-11T17:53:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/\"},\"wordCount\":1048,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg\",\"keywords\":[\".net maui\",\"algoritma\",\"DependencyService\",\"giri\u015f ekran\u0131\",\"kaynak s\u00f6zl\u00fckleri\",\"malzeme temas\u0131\",\"MonkeyCache\",\"MVVM\",\"NuGet\",\"onboarding screen\",\"sqlite\",\"syncfusion\",\"xamarin\",\"xamarin.android\",\"xamarin.forms\"],\"articleSection\":[\"Turkish\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/\",\"url\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/\",\"name\":\"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation - Serkan Seker TR\",\"isPartOf\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg\",\"datePublished\":\"2021-09-11T17:53:02+00:00\",\"author\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\"},\"breadcrumb\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#primaryimage\",\"url\":\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg\",\"contentUrl\":\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/serkanseker.com\/tr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#website\",\"url\":\"https:\/\/serkanseker.com\/tr\/\",\"name\":\"Serkan Seker TR\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/serkanseker.com\/tr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\",\"name\":\"serkanadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g\",\"caption\":\"serkanadmin\"},\"sameAs\":[\"https:\/\/serkanseker.com\"],\"url\":\"https:\/\/serkanseker.com\/tr\/author\/serkanadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation - Serkan Seker TR","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation - Serkan Seker TR","og_description":"Bir \u00f6nceki makalemde algoritmalarda karma\u015f\u0131kl\u0131k analizinin ne oldu\u011funu ve en iyi ve en k\u00f6t\u00fc senaryolar\u0131n hangi durumlarda ortaya \u00e7\u0131kt\u0131\u011f\u0131ndan bahsetmi\u015ftim. Bu makalede ise algoritmalar\u0131n Big-O (B\u00fcy\u00fck-O) analizini nas\u0131l ya","og_url":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/","og_site_name":"Serkan Seker TR","article_published_time":"2021-09-11T17:53:02+00:00","og_image":[{"url":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg","type":"","width":"","height":""}],"author":"serkanadmin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"serkanadmin","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#article","isPartOf":{"@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/"},"author":{"name":"serkanadmin","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5"},"headline":"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation","datePublished":"2021-09-11T17:53:02+00:00","mainEntityOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/"},"wordCount":1048,"commentCount":0,"image":{"@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg","keywords":[".net maui","algoritma","DependencyService","giri\u015f ekran\u0131","kaynak s\u00f6zl\u00fckleri","malzeme temas\u0131","MonkeyCache","MVVM","NuGet","onboarding screen","sqlite","syncfusion","xamarin","xamarin.android","xamarin.forms"],"articleSection":["Turkish"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/","url":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/","name":"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation - Serkan Seker TR","isPartOf":{"@id":"https:\/\/serkanseker.com\/tr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#primaryimage"},"image":{"@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg","datePublished":"2021-09-11T17:53:02+00:00","author":{"@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5"},"breadcrumb":{"@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#primaryimage","url":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg","contentUrl":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/09\/big-o-karmasiklik-grafigi.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/serkanseker.com\/tr\/algoritmalarda-big-o-gosterimi-big-o-notation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/serkanseker.com\/tr\/"},{"@type":"ListItem","position":2,"name":"Algoritmalarda Big-O G\u00f6sterimi \u2013 Big-O Notation"}]},{"@type":"WebSite","@id":"https:\/\/serkanseker.com\/tr\/#website","url":"https:\/\/serkanseker.com\/tr\/","name":"Serkan Seker TR","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/serkanseker.com\/tr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5","name":"serkanadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g","caption":"serkanadmin"},"sameAs":["https:\/\/serkanseker.com"],"url":"https:\/\/serkanseker.com\/tr\/author\/serkanadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts\/5017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/comments?post=5017"}],"version-history":[{"count":0,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts\/5017\/revisions"}],"wp:attachment":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/media?parent=5017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/categories?post=5017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/tags?post=5017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}