{"id":51,"date":"2019-08-18T18:05:19","date_gmt":"2019-08-18T18:05:19","guid":{"rendered":"http:\/\/blog.gunlerveisler.gen.tr\/?p=51"},"modified":"2021-09-20T01:05:32","modified_gmt":"2021-09-19T22:05:32","slug":"data-structures-and-algorithm-1-merge-sort","status":"publish","type":"post","link":"https:\/\/aliyargunes.com.tr\/blog\/data-structures-and-algorithm-1-merge-sort\/","title":{"rendered":"Data Structures and Algorithm #1 Merge Sort"},"content":{"rendered":"\n<p>Bug\u00fcn yapt\u0131\u011f\u0131m \u015fey, se\u00e7ti\u011fim bir s\u0131ralama algoritmas\u0131n\u0131 incelemek oldu. Merge Sort&#8217;u ba\u015ftan sona incelemek bir\u00e7ok \u015feyi hat\u0131rlamak i\u00e7in iyi bir karard\u0131 san\u0131r\u0131m. Java i\u00e7in temel syntaxlar, main memory ve recursion ba\u015fl\u0131klar\u0131n\u0131n \u00fcst\u00fcnden ge\u00e7tim. Head Recursion i\u00e7in 2 ayr\u0131 \u00f6rnek \u00fczerinde durdum, ancak \u00e7ok temel olduklar\u0131ndan burada yaln\u0131zca bir tanesine g\u00f6rsel olarak yer verece\u011fim. Bunlar d\u0131\u015f\u0131nda algoritman\u0131n teorisini ve implementasyonunu incelerken kalem ka\u011f\u0131tla neleri not ald\u0131\u011f\u0131m da burada. Time complexity analysis notlar\u0131n\u0131 daha sonra Latex ile aktaraca\u011f\u0131m.<\/p>\n\n\n\n<p>\u0130nceledi\u011fim merge sort algoritmas\u0131:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\npublic class Main {\n    public static void main(String&#x5B;] args) {\n        int&#x5B;] intArray = { 20, 35, -15, 7, 55, 1, -22 };\n        mergeSort(intArray, 0, intArray.length);\n        for (int i = 0; i &lt; intArray.length; i++) {\n            System.out.println(intArray&#x5B;i]);\n        }\n    }\n    \/\/ { 20, 35, -15, 7, 55, 1, -22 }\n    public static void mergeSort(int&#x5B;] input, int start, int end) {\n        if (end - start &lt; 2) {\n            return;\n        }\n        int mid = (start + end) \/ 2;\n        mergeSort(input, start, mid);\n        mergeSort(input, mid, end);\n        merge(input, start, mid, end);\n    }\n    \/\/ { 20, 35, -15, 7, 55, 1, -22 }\n    public static void merge(int&#x5B;] input, int start, int mid, int end) {\n        if (input&#x5B;mid - 1] &lt;= input&#x5B;mid]) {\n            return;\n        }\n        int i = start;\n        int j = mid;\n        int tempIndex = 0;\n        int&#x5B;] temp = new int&#x5B;end - start];\n        while (i &lt; mid &amp;&amp; j &lt; end) {\n            temp&#x5B;tempIndex++] = input&#x5B;i] &lt;= input&#x5B;j] ? input&#x5B;i++] : input&#x5B;j++];\n        }\n        System.arraycopy(input, i, input, start + tempIndex, mid - i);\n        System.arraycopy(temp, 0, input, start, tempIndex);\n    }\n}\n<\/pre><\/div>\n\n\n<p><strong>Time complexity analysis:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-medium is-style-default\"><a href=\"https:\/\/aliyargunes.com.tr\/blog\/wp-content\/uploads\/2019\/08\/analysis.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"202\" src=\"https:\/\/aliyargunes.com.tr\/blog\/wp-content\/uploads\/2019\/08\/analysis-300x202.jpg\" alt=\"\" class=\"wp-image-519\" srcset=\"https:\/\/aliyargunes.com.tr\/blog\/wp-content\/uploads\/2019\/08\/analysis-300x202.jpg 300w, https:\/\/aliyargunes.com.tr\/blog\/wp-content\/uploads\/2019\/08\/analysis-1024x690.jpg 1024w, https:\/\/aliyargunes.com.tr\/blog\/wp-content\/uploads\/2019\/08\/analysis-768x518.jpg 768w, https:\/\/aliyargunes.com.tr\/blog\/wp-content\/uploads\/2019\/08\/analysis-1536x1035.jpg 1536w, https:\/\/aliyargunes.com.tr\/blog\/wp-content\/uploads\/2019\/08\/analysis-2048x1380.jpg 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/aliyargunes.com.tr\/blog\/wp-content\/ql-cache\/quicklatex.com-c56be1ff678be1fdd8dcf5ad8b394fdd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#79;&#40;&#110;&#92;&#99;&#100;&#111;&#116;&#92;&#108;&#111;&#103;&#95;&#123;&#50;&#125;&#110;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"95\" style=\"vertical-align: -4px;\"\/> <\/li><li>Not in-place <\/li><li>Stable<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bug\u00fcn yapt\u0131\u011f\u0131m \u015fey, se\u00e7ti\u011fim bir s\u0131ralama algoritmas\u0131n\u0131 incelemek oldu. Merge Sort&#8217;u ba\u015ftan sona incelemek bir\u00e7ok \u015feyi hat\u0131rlamak i\u00e7in iyi bir karard\u0131 san\u0131r\u0131m. Java i\u00e7in temel syntaxlar, main memory ve recursion ba\u015fl\u0131klar\u0131n\u0131n \u00fcst\u00fcnden ge\u00e7tim. Head Recursion i\u00e7in 2 ayr\u0131 \u00f6rnek \u00fczerinde &hellip; <a href=\"https:\/\/aliyargunes.com.tr\/blog\/data-structures-and-algorithm-1-merge-sort\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[23,34,39,49],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-algorithm-analysis","tag-data-structures-and-algorithms","tag-java","tag-merge-sort","tag-recursion"],"_links":{"self":[{"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/posts\/51"}],"collection":[{"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":5,"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/posts\/51\/revisions"}],"predecessor-version":[{"id":828,"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/posts\/51\/revisions\/828"}],"wp:attachment":[{"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aliyargunes.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}