#!/usr/bin/env python
# encoding: utf-8
"""tool.py
create at 12-9-5 by administrator
"""import os
import hashlib
import json
def main(assets_dir, target_dir):
"""雜湊工具主方法
"""resource_config = {}
for root, dirs, files in os.walk(assets_dir):
if root.find('.svn') == -1:
for file in files:
name, ext = os.path.splitext(file)
file_name = '%s/%s' % (root, file)·
fr = open(file_name, 'rb')
context = fr.read()
hash_name = hashlib.md5(context + file_name).hexdigest()
if not os.path.exists(target_dir):
os.makedirs(target_dir)
fw = open('%s/%s%s' % (target_dir, hash_name, ext), 'wb')
fw.write(context)
resource_config[file_name] = '%s/%s%s' % (target_dir, hash_name, ext)
fr.close()
fw.close()
f = open('resource_config.json', 'w')
f.write(json.dumps(resource_config))
f.close()
if __name__ == '__main__':
main('assets', 'target_folder')
主定理(主方法)求解遞迴式
用主方法求解遞迴式有條件,必須要求遞迴式為以下形式 其中a 1,b 1,f n 漸進趨正,意為對足夠大的n,f n 是正的,即n n 0n 0 n0 時,f n 0。其中 n為問題規模,a為遞推的子問題數量,n b 為每個子問題的規模 假設每個子問題的規模基本一樣 f n 為遞推以外進行的計算工作。...
主方法(master公式)
最近經常碰到主方法的使用,今天再這裡做乙個記錄。有些演算法在處理乙個較大規模的問題時,往往會把問題拆分成幾個子問題,對其中的乙個或多個問題遞迴地處理,並在分治之前或之後進行一些預處理 彙總處理。這時候我們可以得到關於這個演算法複雜度的乙個遞推方程,求解此方程便能得到演算法的複雜度。主方法master...
雜湊演算法之雜湊位址取值方法
直接定址法 這個類似於資料庫的關鍵字,比如有乙個是people表,表中以年齡為關鍵字可以查到對應的人口數目 數字分析法 通過統計分析得出的乙個結果,比如對手機號進行儲存,130 x1234,130營運商,x是所屬地,1234直接使用者編號,所以分析得出我們可以通過手機後4位進行雜湊位址 平方取中法 ...