是否有算法实现纯功能集?
预期的操作是联合,交集,差异,元素?,空吗?和邻接.
这些并不是硬性要求,我很乐意学习一种只实现其子集的算法.
algorithm functional-programming set referential-transparency data-structures
我很好奇使用C和python进行insert-sort的性能,但是我得到的结果让我想到如果我做错了什么.我怀疑C会更快,但不是那么多.
我已经分析了两个代码,插入排序功能是花费时间最多的地方.
这是C函数:
void
insert_sort (vec_t * vec)
{
int j;
for (j = 1 ; j < vec->n ; j++){
int key = vec->v[j];
int i = j - 1;
while (i >= 0 && vec->v[i] > key){
vec->v[i+1] = vec->v[i];
i--;
}
vec->v[i+1] = key;
}
}
Run Code Online (Sandbox Code Playgroud)
这是python函数:
def insert_sort (ln):
for j in range(1, len(ln)):
key = ln[j]
i = j-1
while i >= 0 and ln[i] > key:
ln[i+1] = ln[i]
i-=1
ln[i+1] = key
Run Code Online (Sandbox Code Playgroud)
用10000个整数进行测试,每个整数随机生成0到10000之间. …