翔腾苍穹

" 站在阳光下,享受我单薄的青春~ " ---- Jakes
标签  ”算法“  下的文章
大数运算加减乘除运算 Chiyer
翔腾苍穹

大数运算加减乘除运算 Chiyer

这是CSDN上的Chiyer 大牛的加法和乘法的实现代码。记录一下以便学习。 strrev函数是非标准库,这里需要提供额外的实现: char* strrev(char* s) { /* h指向s的头部 */ char* h = s; char* t = s; char ch; /* t指向s的尾部 */ while(*t++){}; t--; /* 与t++抵消 */ t--; ……
字符串匹配的KMP算法
翔腾苍穹

字符串匹配的KMP算法

  字符串匹配是计算机的基本任务之一。   举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?   许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。   这种算法不太容易理解,网上有很多解……
[转]大数四则运算的C++实现
翔腾苍穹

[转]大数四则运算的C++实现

[摘要] 大数运算不仅仅运用在密码学中,还运用在一些物理学研究、生物学,化学等科目中。大数运算,意味着参加的值和计算结果通常是以上百位数,上千位数以及更大长度之间的整数运算。例如大家所熟知圆周率π的值,在一般的数值计算中用到圆周率的不须要多大的精度,但在计算一些星球或是星系上的体积面积时便显的误差很大了,这就要求π值计算……
用python装饰器来优化算法
翔腾苍穹

用python装饰器来优化算法

摘要:最近coding时用到了Python装饰器,它的作用太强大了,而且使用也简单,解决了我代码中大量重复计算的瓶颈,下面以计算Fibonacci数列为例来说明问题: C语言版: #include<stdio.h> //fib.c int fib(int n) { if(n<3) { return 1; } else { return fib(n-1) + fib(n-2); } } int main(……