Skynet

          ---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks
          發(fā)現(xiàn) 自己寫個小程序 - 文本存儲二叉結(jié)構(gòu)的hashMap。 那個費勁! 痛下決心 仔細學(xué)習(xí) 算法 。
          (如果大家有興趣就跟我一起 - 《算法導(dǎo)論》,也望大家監(jiān)督我能每天拿出一小時和大家分享算法,算法代碼我會盡量使用 py 和 解決一些分析日志的應(yīng)用上靠 (其實,上面費勁的 二叉hash 是為了分析日志中 - 希望能實現(xiàn) 多個大文件不需要合并就能根據(jù)某列排序輸出! 目前的解決辦法 find .. -exec cat {} \; | perl |sort 的笨方法 )

          1. 算法在計算中的作用 (筆記) :
             算法(algorithm):就是定義良好的計算過程,它取一個或一組作為輸出,并產(chǎn)生一個或一組自作為輸出。

          一些函數(shù)運行級別  # http://www.wolframalpha.com/ 函數(shù)都可在網(wǎng)站里運行
          這里 n=一億條數(shù)據(jù) :
          log_2(n)     30
          n^0.5        31622
          n            10^9
          n*log_2(n)   2.9^10
          n^2          10^18
          n^3          10^27
          2^n          無窮
          n!           10^362880


          需要知道的復(fù)雜度 - 在某一個臨界點后 合并會別插入要快的
            插入排序  復(fù)雜度 n^2    http://www.wolframalpha.com/input/?i=n^2
            合并排序  復(fù)雜度 n*log_2(n)  http://www.wolframalpha.com/input/?i=n*log_2%28n%29+

          網(wǎng)上的查找到的一些名稱:參考 http://www.51testing.com/?uid-130868-action-viewspace-itemid-66729
          1.1穩(wěn)定排序  非穩(wěn)定排序 -
            穩(wěn)定排序是所有相等的數(shù)經(jīng)過某種排序方法后,仍能保持它們在排序之前的相對次序,。反之,就是非穩(wěn)定的排序。
          1.2內(nèi)排序  外排序
            在排序過程中,所有需要排序的數(shù)都在內(nèi)存,并在內(nèi)存中調(diào)整它們的存儲順序,稱為內(nèi)排序; 在排序過程中,只有部分數(shù)被調(diào)入內(nèi)存,并借助內(nèi)存調(diào)整數(shù)在外存中的存放順序排序方法稱為外排序。
          1.3算法的時間復(fù)雜度  空間復(fù)雜度
            所謂算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量。 一個算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。


          幾種常見的算法復(fù)雜度:
          2.1冒泡排序 (Bubble Sort)    O(n^2)
          2.2選擇排序 (Selection Sort) O(n^2 )
          2.3插入排序 (Insertion Sort) O(n^2)
          2.4堆排序    O( nlog(n) )
          2.5歸并排序  O( nlog_2(n)  )
          2.6快速排序  最好 O( nlog_2(n) ) 最壞 O(n^2)




          wiki 參考 :http://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95
          穩(wěn)定的

          [編輯] 不穩(wěn)定

          [編輯] 不實用的排序演算法

          • Bogo排序 — O(n × n!) 期望時間,無窮的最壞情況。
          • Stupid sort — O(n3); 遞迴版本需要 O(n2) 額外記憶體
          • Bead sort — O(n) or O(√n), 但需要特別的硬體
          • Pancake sorting — O(n), 但需要特別的硬體
















          整理 www.aygfsteel.com/Good-Game
          posted on 2009-11-17 23:12 劉凱毅 閱讀(2513) 評論(0)  編輯  收藏 所屬分類: 算法/函數(shù)
          主站蜘蛛池模板: 绿春县| 神木县| 巴东县| 民和| 泊头市| 南江县| 合川市| 黄浦区| 大渡口区| 虹口区| 松溪县| 巧家县| 宣威市| 西吉县| 黄龙县| 石嘴山市| 云林县| 庆阳市| 云龙县| 常德市| 调兵山市| 宜川县| 夹江县| 静安区| 福贡县| 天镇县| 车致| 遂溪县| 神池县| 汝城县| 华阴市| 四平市| 南宁市| 赫章县| 满城县| 桓台县| 广丰县| 镇平县| 兴山县| 龙山县| 韶山市|