• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            liyuxia713

            蹣跚前行者

            常用鏈接

            統計

            Algorithms

            C++

            最新評論

            Algorithms

            基本排序方法及分析(九):Randomized-Quicksort快速排序的隨機化版本
                 摘要: Quicksort是一個很好的比較排序算法,但是其最壞情況運行時間是O(n^2), 還不如Mergesort的O(nlgn),
            如何改進Quicksort? 答案是:引進隨機化思想。
            一種方法: 對給定的待排序序列,隨機地重排列
            另一種方法:隨機選取pivot

            給出第二種方法的代碼  閱讀全文

            posted @ 2010-01-24 14:36 幸運草 閱讀(3346) | 評論 (0)  編輯

            Order Statistics 順序統計(找出第i小元素)
                 摘要:
            Order Statistics 順序統計
            Select(int* a, int n, int ith): 從給定的n個元素中找出第i個小的元素
            思想:QuickSort的Partition方法進行分割
            如果 i = rank(pivot), 則返回a[k]
            如果 i < rank(pivot), 則從前半部分中找第i個小的元素
            如果 i > rank(pivot), 則從后半部分中找第i-rank(pivot)個小的元素
            最壞運行時間O(n^2)
            平均運行時間O(nlgn)   閱讀全文

            posted @ 2010-01-21 16:29 幸運草 閱讀(1115) | 評論 (0)  編輯

            基本排序方法及分析(八):CoungtingSort 計數排序
                 摘要:
            計數排序對a[0],...,a[n-1]進行排序,其中1 <= a[i] <= m
            計數排序不是基于比較的排序方法,從而最壞情形下的運行時間也不受比較的排序方法最快O(nlgn)的限制。
            計數排序的運行時間是O(n+m)  閱讀全文

            posted @ 2010-01-18 15:50 幸運草 閱讀(440) | 評論 (0)  編輯

            基本排序方法及分析(七):HeapSort 堆排序

            posted @ 2010-01-18 15:45 幸運草 閱讀(639) | 評論 (1)  編輯

            同時求最大最小值

            posted @ 2009-05-07 21:15 幸運草 閱讀(743) | 評論 (0)  編輯

            基本排序算法及分析(六):桶式排序
                 摘要: 桶式排序是對一個有n個整型元素的數組a[n],其中對任意i,0 <= a[i] <= m的特殊排序算法。
            可以對 n==m, n != m分別處理。寫代碼時需要注意的的是a[i]是訪問第i-1個元素,而非第i個。
            n != m時,運行時間為O(m+n),輔助空間為O(m)
            n == m時特殊處理,運行時間為O(N), 輔助空間為O(1)   閱讀全文

            posted @ 2009-04-23 19:03 幸運草 閱讀(1263) | 評論 (0)  編輯

            基本排序算法及分析(五):歸并排序
                 摘要: 歸并排序思路:將序列從中間分割成兩部分,分別遞歸歸并排序,后將兩個子序列合并。
            歸并排序雖然是經典排序里比較最少的算法,但有大量的復制操作,還需要O(N)的輔助空間,從而一般不用于主存,也不利于c++編程。
            Java中比較操作耗時多,而復制則耗時少,從而歸并排序是Java中主要排序方法。
            而在C++ STL中快速排序是基本排序方法。  閱讀全文

            posted @ 2009-04-23 10:50 幸運草 閱讀(1024) | 評論 (0)  編輯

            基本排序算法及分析(四):快速排序
                 摘要: 快速排序:確定一個樞紐元,一次遍歷后將數組劃分成兩個部分,第一部分均比樞紐元小,第二部分都比樞紐元大,然后對這兩個數組進行快速排序,是一種遞歸的方法
            平均運行時間O(Nlog(N)),最壞運行時間O(N^2)
            最壞情形:對于預排序的序列。
            對與樞紐元相等的元素處理:
            i,j都停止:會比較相等元素,但是可以劃分成長度相當的兩個子數組
            i,j都不停止,不會比較相等元素,但是可能產生長度不平衡的兩個子數組(與樞紐元相等的元素較多時)樞紐元的選取:
            1. 選取第一個元素做樞紐元:對于(部分)預排序的序列運行時間O(N^2)
            2. 隨機生成樞紐元:能避免上述問題,但是產生樞紐元的代價高
            3. 三數中值分割法:選取左端,右端,中間位置三個元素的中值  閱讀全文

            posted @ 2009-04-22 16:56 幸運草 閱讀(2854) | 評論 (8)  編輯

            基本排序算法及分析(三):shell排序

            posted @ 2009-04-22 16:50 幸運草 閱讀(870) | 評論 (0)  編輯

            基本排序算法及分析(二):冒泡排序

            posted @ 2009-04-22 16:46 幸運草 閱讀(615) | 評論 (0)  編輯

            Full Algorithms Archive

            狠狠色丁香婷婷综合久久来来去| 国产精品九九久久精品女同亚洲欧美日韩综合区| 99精品国产在热久久无毒不卡 | 欧美一区二区精品久久| 日日狠狠久久偷偷色综合免费| 久久久久久久波多野结衣高潮| 久久精品国产99久久久| 三级片免费观看久久| 欧美一区二区三区久久综| 99久久亚洲综合精品网站| 国内精品人妻无码久久久影院导航 | 精品一久久香蕉国产线看播放| 色综合久久久久综合99| 精品久久人妻av中文字幕| 中文字幕热久久久久久久| 人人狠狠综合久久亚洲婷婷| 国产精品99久久久精品无码| 久久久久99精品成人片牛牛影视| 精品国产乱码久久久久久郑州公司| 久久99精品久久久久久9蜜桃 | 蜜臀久久99精品久久久久久| 精品无码久久久久久久久久| 久久精品国产亚洲av麻豆色欲| 亚洲精品国产综合久久一线| 亚洲成av人片不卡无码久久| 久久精品国产精品青草app| 国产精品久久成人影院| 久久99久久99精品免视看动漫| 久久久久无码精品国产app| 久久99国产精品二区不卡| 少妇高潮惨叫久久久久久| 久久久久亚洲AV无码网站| 久久久久久久97| 亚洲欧美伊人久久综合一区二区| 久久天天躁狠狠躁夜夜2020| 久久精品国产WWW456C0M| 国内精品久久久久久久涩爱| 国产激情久久久久影院小草| 7国产欧美日韩综合天堂中文久久久久 | 久久这里有精品视频| 九九久久精品无码专区|