{"id":301,"date":"2019-02-24T16:45:23","date_gmt":"2019-02-24T08:45:23","guid":{"rendered":"https:\/\/www.ccagml.com\/?p=301"},"modified":"2019-02-27T10:32:43","modified_gmt":"2019-02-27T02:32:43","slug":"%e5%b8%b8%e8%a7%81%e7%ae%97%e6%b3%95%e6%97%b6%e9%97%b4%e5%a4%8d%e6%9d%82%e5%ba%a6%e3%80%81%e7%a9%ba%e9%97%b4%e5%a4%8d%e6%9d%82%e5%ba%a6%e6%af%94%e8%be%83","status":"publish","type":"post","link":"https:\/\/www.ccagml.com\/?p=301","title":{"rendered":"\u5e38\u89c1\u7b97\u6cd5\u65f6\u95f4\u590d\u6742\u5ea6\u3001\u7a7a\u95f4\u590d\u6742\u5ea6\u6bd4\u8f83"},"content":{"rendered":"<table>\n<thead>\n<tr>\n<th>\u6392\u5e8f\u7b97\u6cd5<\/th>\n<th>\u5e73\u5747\u65f6\u95f4\u590d\u6742\u5ea6<\/th>\n<th>\u6700\u574f\u590d\u6742\u5ea6<\/th>\n<th>\u7a7a\u95f4\u590d\u6742\u5ea6<\/th>\n<th>\u7a33\u5b9a\u6027<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u5192\u6ce1\u6392\u5e8f<\/td>\n<td>O(n2)<\/td>\n<td>O(n2)<\/td>\n<td>0(1)<\/td>\n<td>\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u9009\u62e9\u6392\u5e8f<\/td>\n<td>O(n2)<\/td>\n<td>O(n2)<\/td>\n<td>0(1)<\/td>\n<td>\u4e0d\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u76f4\u63a5\u63d2\u5165\u6392\u5e8f<\/td>\n<td>O(n2)<\/td>\n<td>O(n2)<\/td>\n<td>0(1)<\/td>\n<td>\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u5feb\u901f\u6392\u5e8f<\/td>\n<td>O(nlogn)<\/td>\n<td>O(n2)<\/td>\n<td>O(logn)<\/td>\n<td>\u4e0d\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u5f52\u5e76\u6392\u5e8f<\/td>\n<td>O(nlogn)<\/td>\n<td>O(nlogn)<\/td>\n<td>O(1)<\/td>\n<td>\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u5806\u6392\u5e8f<\/td>\n<td>O(nlogn)<\/td>\n<td>O(nlogn)<\/td>\n<td>0(1)<\/td>\n<td>\u4e0d\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u5e0c\u5c14\u6392\u5e8f<\/td>\n<td>O(nlogn)<\/td>\n<td>O(n8)1<\/td>\n<td>O(1)<\/td>\n<td>\u4e0d\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u57fa\u6570\u6392\u5e8f<\/td>\n<td>O(lognB)<\/td>\n<td>O(lognB)<\/td>\n<td>O(n)<\/td>\n<td>\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u4e8c\u53c9\u6811\u6392\u5e8f<\/td>\n<td>O(nlogn)<\/td>\n<td>O(nlogm)<\/td>\n<td>O(n)<\/td>\n<td>\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u8ba1\u6570\u6392\u5e8f<\/td>\n<td>O(n + k)<\/td>\n<td>O(n + k)<\/td>\n<td>O(n+ k)<\/td>\n<td>\u7a33\u5b9a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# -*- coding:UTF-8 -*-\r\ndef bubble_sort(sort_list):\r\n    &quot;&quot;&quot;\r\n    \u5192\u6ce1\u6392\u5e8f\r\n    :param sort_list: \r\n    :return: \r\n    &quot;&quot;&quot;\r\n    length = len(sort_list)\r\n    # \u7b2c\u4e00\u7ea7\u904d\u5386\r\n    for index in range(length):\r\n        # \u7b2c\u4e8c\u7ea7\u904d\u5386\r\n        for j in range(1, length - index):\r\n            if sort_list[j - 1] &gt; sort_list[j]:\r\n                # \u4ea4\u6362\u4e24\u8005\u6570\u636e\uff0c\u8fd9\u91cc\u6ca1\u7528temp\u662f\u56e0\u4e3apython \u7279\u6027\u5143\u7ec4\u3002\r\n                sort_list[j - 1], sort_list[j] = sort_list[j], sort_list[j - 1]\r\n    return sort_list\r\n\r\n<\/pre>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# -*- coding:UTF-8 -*-\r\ndef selection_sort(sort_list):\r\n    &quot;&quot;&quot;\r\n    \u9009\u62e9\u6392\u5e8f\r\n    :param sort_list: \r\n    :return: \r\n    &quot;&quot;&quot;\r\n    n = len(sort_list)\r\n    for i in range(0, n):\r\n        min_value = i\r\n        for j in range(i+1, n):\r\n            if sort_list[j] &lt; sort_list[min_value]:\r\n                min_value = j\r\n                sort_list[min], sort_list[i] = sort_list[i], sort_list[min]\r\n    return sort_list\r\n\r\n<\/pre>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# -*- coding:UTF-8 -*-\r\ndef insert_sort(sort_list):\r\n    &quot;&quot;&quot;\r\n    \u63d2\u5165\u6392\u5e8f\r\n    :param sort_list: \r\n    :return: \r\n    &quot;&quot;&quot;\r\n    n = len(sort_list)\r\n    for i in range(1, n):\r\n        # \u540e\u4e00\u4e2a\u5143\u7d20\u548c\u524d\u4e00\u4e2a\u5143\u7d20\u6bd4\u8f83\r\n        # \u5982\u679c\u6bd4\u524d\u4e00\u4e2a\u5c0f\r\n        if sort_list[i] &lt; sort_list[i - 1]:\r\n            # \u5c06\u8fd9\u4e2a\u6570\u53d6\u51fa\r\n            temp = sort_list[i]\r\n            # \u4fdd\u5b58\u4e0b\u6807\r\n            index = i\r\n            # \u4ece\u540e\u5f80\u524d\u4f9d\u6b21\u6bd4\u8f83\u6bcf\u4e2a\u5143\u7d20\r\n            for j in range(i - 1, -1, -1):\r\n                # \u548c\u6bd4\u53d6\u51fa\u5143\u7d20\u5927\u7684\u5143\u7d20\u4ea4\u6362\r\n                if sort_list[j] &gt; temp:\r\n                    sort_list[j + 1] = sort_list[j]\r\n                    index = j\r\n                else:\r\n                    break\r\n            # \u63d2\u5165\u5143\u7d20\r\n            sort_list[index] = temp\r\n    return sort_list\r\n\r\n<\/pre>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n\r\n# -*- coding:UTF-8 -*-\r\ndef shell_sort(sort_list):\r\n    &quot;&quot;&quot;\r\n    \u5e0c\u5c14\u6392\u5e8f\r\n    :param sort_list: \r\n    :return: \r\n    &quot;&quot;&quot;\r\n    n = len(sort_list)\r\n    # \u521d\u59cb\u6b65\u957f\r\n    gap = n \/\/ 2\r\n    while gap &gt; 0:\r\n        for i in range(gap, n):\r\n            # \u6bcf\u4e2a\u6b65\u957f\u8fdb\u884c\u63d2\u5165\u6392\u5e8f\r\n            temp = sort_list[i]\r\n            j = i\r\n            # \u63d2\u5165\u6392\u5e8f\r\n            while j &gt;= gap and sort_list[j - gap] &gt; temp:\r\n                sort_list[j] = sort_list[j - gap]\r\n                j -= gap\r\n            sort_list[j] = temp\r\n        # \u5f97\u5230\u65b0\u7684\u6b65\u957f\r\n        gap = gap \/\/ 2\r\n    return sort_list\r\n\r\n\r\n<\/pre>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n# -*- coding:UTF-8 -*-\r\ndef quick_sort(arr):\r\n    &quot;&quot;&quot;\r\n    \u5feb\u901f\u6392\u5e8f\r\n    :param arr:\r\n    :return:\r\n    &quot;&quot;&quot;\r\n    if len(arr) &lt;= 1:\r\n        return arr\r\n    else:\r\n        pivot = arr[0]\r\n        return quick_sort([x for x in arr[1:] if x &lt; pivot]) + \\\r\n               [pivot] + \\\r\n               quick_sort([x for x in arr[1:] if x &gt;= pivot])\r\n\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6392\u5e8f\u7b97\u6cd5 \u5e73\u5747\u65f6\u95f4\u590d\u6742\u5ea6 \u6700\u574f\u590d\u6742\u5ea6 \u7a7a\u95f4\u590d\u6742\u5ea6 \u7a33\u5b9a\u6027 \u5192\u6ce1\u6392\u5e8f O(n2) O(n2) 0(1) \u7a33\u5b9a \u9009<a href=\"https:\/\/www.ccagml.com\/?p=301\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">\u5e38\u89c1\u7b97\u6cd5\u65f6\u95f4\u590d\u6742\u5ea6\u3001\u7a7a\u95f4\u590d\u6742\u5ea6\u6bd4\u8f83<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[27,20],"tags":[],"_links":{"self":[{"href":"https:\/\/www.ccagml.com\/index.php?rest_route=\/wp\/v2\/posts\/301"}],"collection":[{"href":"https:\/\/www.ccagml.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ccagml.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ccagml.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ccagml.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=301"}],"version-history":[{"count":6,"href":"https:\/\/www.ccagml.com\/index.php?rest_route=\/wp\/v2\/posts\/301\/revisions"}],"predecessor-version":[{"id":314,"href":"https:\/\/www.ccagml.com\/index.php?rest_route=\/wp\/v2\/posts\/301\/revisions\/314"}],"wp:attachment":[{"href":"https:\/\/www.ccagml.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ccagml.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ccagml.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}