Google的Snappy壓縮演算法

很多時候,我們需要快速的壓縮大量的資料,在磁碟IO和cpu之間做一個權衡,以便使程式跑得更快。Snappy就是這樣一種快速的資料壓縮演算法。對於一個核的i7處理器(64位元模式),能達到250M/s以上的處理速度。Snappy通常在達到相當壓縮的情況下,要比同類的快速的壓縮演算法,如LZO,LZF,FastLZ和QuickLZ快。它對純文字的壓縮比大概是1.5~1.7x,對HTML網頁是2-4x,對圖片等位元據基本沒有壓縮,為1x。Snappy分別對64位和32位處理器進行了最佳化,不論32位處

100題_03 最大子序列和

題目:輸入一個整形數組,數組裡有正數也有負數。數組中連續的一個或多個整數組成一個子數組,每個子數組都有一個和。求所有子數組的和的最大值。要求時間複雜度為O(n)。例如輸入的數組為1, -2, 3, 10, -4, 7, 2, -5,和最大的子數組為3, 10, -4, 7, 2,因此輸出為該子數組的和18。  請參考:http://www.cnblogs.com/youwang/archive/2010/07/16/1778929.html 問題擴充:  給定一個序列1,2,3,4,5,6,7,

找出200-400之間素數的快速演算法

CodeCode highlighting produced by Actipro CodeHighlighter

100題_04 在二元樹中找出和為某一值的所有路徑

題目:輸入一個整數和一棵二元樹。從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。列印出和與輸入整數相等的所有路徑。例如輸入整數22和如下二元樹   10   /   5  12  / 4  7則列印出兩條路徑:10, 12和10, 5,

100題_06 判斷整數序列是不是二元尋找樹的後序遍曆結果

題目:輸入一個整數數組,判斷該數組是不是某二元尋找樹的後序遍曆的結果。如果是返回true,否則返回false。例如輸入5、7、6、9、11、10、8,由於這一整數序列是如下樹的後序遍曆結果:      8      /    6   10  /    /  5 7  9

100題_33 強大的和諧

實現一個挺進階的字元匹配演算法:給一串很長字串,要求找到符合要求的字串,例如目的串:1231******3***2 ,12*****3 這些都要找出來其實就是類似一些和諧系統。。。。。

WhiteSmoke無限試用

WhiteSmoke是一個英文寫作語法檢查,寫作風格檢查的工具,是寫英文文章和論文的好幫手。但是該軟體是一個收費的軟體,提供7天的試用期,之後就要收費了。該軟體是一個線上軟體,有很多破解者,最終都已失敗告終。 本人也是一個軟體破解愛好者,不過水平不怎麼的,一直也想破解到這個軟體,但是最後也失敗了。後來我觀察了這個軟體的登錄機碼,通過仔細分析,發現刪除某個登錄機碼就可以重新試用。在運行該軟體後會提示你輸入郵件地址,輸入support@whitesmoke.com就可以重新試用了。 為了方便大家,我

100題_02 設計包含min函數的棧

題目:定義棧的資料結構,要求添加一個min函數,能夠得到棧的最小元素。要求函數min、push以及pop的時間複雜度都是O(1)。 分析:這題的主要限制在時間複雜度為O(1),首先想到的肯定是以空間換時間。這裡我們給棧裡面的每個元素,若是最小元素,就讓他帶一個指向上一個最小元素的域,這樣就很容易就實現了。 以下是代碼View Code

中國餘數定理

<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 void extended_gcd(int a,int b,int *x,int *y) 2 { 3     int t; 4     if(b==0) 5     { 6         *x = 1; 7         *y = 0; 8         return ;

修改firefox的菜單及其他

新版的firefox,右鍵菜單第一個是在新視窗中打卡連結,這個很不方便,想把在新選項卡中開啟連結提前。 在網上查了一下,都推薦Menu

[ACM]偽素數

Time Limit: 1000MS Memory Limit: 65536KBTotal Submissions: 81 Accepted: 9 Description:Fermat's theorem states that for any prime number p and for any integer a > 1, a^p == a (mod p). That is, if we raise a to the pth power and divide by p, the

Ubuntu 大連理工大學源

#####ubuntu10.04#####deb http://mirror.dlut.edu.cn/ubuntu/ lucid main restricteddeb-src http://mirror.dlut.edu.cn/ubuntu/ lucid main restricteddeb http://mirror.dlut.edu.cn/ubuntu/ lucid-updates main restricted deb-src

解析Win7中工作列的鎖定

Win7沒有了快速存取,新增加了鎖定到工作列的功能。經過我的研究發現了,幾個與這個東西有關的幾個東西。 首先一個就是檔案夾“C:UsersYou WangAppDataRoamingMicrosoftInternet ExplorerQuick LaunchUserPinnedTaskBar”,其中“You

100題_08 求1+2+…+n

題目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字以及條件判斷語句(A?B:C)。通常求1+2+…+n除了用公式n(n+1)/2之外,無外乎迴圈和遞迴兩種思路。由於已經明確限制for和while的使用,迴圈已經不能再用了。同樣,遞迴函式也需要用if語句或者條件判斷語句來判斷是繼續遞迴下去還是終止遞迴,但現在題目已經不允許使用這兩種語句了。利用類得建構函式 View Code #include <iostream>using 

100題_09 尋找鏈表中倒數第k個結點

題目:輸入一個單向鏈表,輸出該鏈表中倒數第k個結點。鏈表的倒數第0個結點為鏈表的尾指標。 這題可以使用兩個指標,第一指標首先向後找k個節點,然後兩外一個指標同步開始向後,當第一個到最後時,第二個指標就指向了倒數第k個節點。 廢話少說,上碼:View Code

apt-get加速工具apt-fast

今天無意間看到ACE的部落格,發現apt-get有加速工具apt-fast,apt-fast的加速原理就是利用axel來取代wget。想當初我就想想辦法將apt-get的下載工具改成axel,但是由於自己水平有限,一直沒有實現。原來早有大牛已經實現。 下面講一下安裝的過程:1 sudo add-apt-repository ppa:tldm217/tahutek.net2 sudo apt-get update3 sudo apt-get install apt-fast4 # 這個 PPA 支

Web Spam相關實驗室與學者

實驗室Algorithm Design and Engineering Group http://www.dis.uniroma1.it/~ae/山東大學資訊檢索實驗室 http://ir.sdu.edu.cn/index.htmITNLP LAB http://www.insun.hit.edu.cn/default_cn.aspDMWS http://datamining.sztaki.hu/?q=en/en-index 學者Juan Martinez Romo

100題_10 在排序數組中尋找和為給定值的兩個數字

題目:輸入一個已經按升序排序過的數組和一個數字,在數組中尋找兩個數,使得它們的和正好是輸入的那個數字。要求時間複雜度是O(n)。如果有多對數位和等於輸入的數字,輸出任意一對即可。例如輸入數組1、2、4、7、11、15和數字15。由於4+11=15,因此輸出4和11。仔細想想,你會發現對於排好序的數組來說,直接貪心就可以了。最初我們找到數組的第一個數字和最後一個數字。當兩個數位和大於輸入的數字時,把較大的數字往前移動;當兩個數位和小於數字時,把較小的數字往後移動;當相等時,打完收工。這樣掃描的順序

動態規劃之裝配線問題(遞迴實現)

裝配線問題,問題詳見演算法導論(第二版)中文版地193頁(英文版323頁)。 C#實現如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 動態規劃之裝配線問題{ /// <summary> /// 動態規劃之轉配線問題,用遞迴實現,但記錄中間結果 /// </summary> class Program {

[位操作] 最大和最小的數

給定一個一個數,找出二進位表示有相同數量1的最大的和最小的數。 分析:首先考慮正數,我們將1儘可能放到高位(除符號位)。對於負數,就稍微複雜一點,因為在我們電腦上,負數是用補碼錶示的,對於補碼,1應該竟可能放到低位(除符號位)。知道這些,就很容寫出代碼來了,下面是參考代碼。 #include <iostream>using namespace std;// 1的個數int ones(unsigned int x){int n = 0;while (x){if ( x & 1

總頁數: 61357 1 .... 6798 6799 6800 6801 6802 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.