归并排序

# -*- coding: utf-8 -*-

def merge(array, start, middle, end):

n1 = middle - start + 1 # 第一个子序列长度

n2 = end - middle # 第二个子序列长度

left_array = []

right_array = []

for i in range(n1):

left_array.append(array[start + i])

for i in range(n......

2016-04-15 19:5894

二进制加法

# -*- coding: utf-8 -*-

# 在 list 前补 0

def complement_short_num(num, length):

for i in range(length):

num.insert(0, 0)

return num

def add_binary_number(num1, num2):

length1 = len(num1)

length2 = len(num2)

min_length = length1 if length......

2016-04-14 19:0183

排行榜半衰期算法

放射性元素的原子核有半数发生衰变时所需要的时间,叫半衰期。随着放射的不断进行,放射强度将按指数曲线下降,放射性强度达到原值一半所需要的时间叫做同位素的半衰期。

原子核的衰变规律是:N = No * ( 1 / 2 ) ^ ( t / T )。其中:No 是指初始时刻( t = 0 )时的原子核数,t 为衰变时间,T 为半衰期,N 是衰变后留下的原子核数。

对于排行榜所涉及的因素无外乎有几个:上架时间、下载量、评分、参与评分的人数。将元素的半衰期规律应用到排行榜算法中是一个很好的选择,可以将......

2015-09-04 16:30182