随笔分类 - 数据结构与算法分析
1
摘要:反转链表光是O(N)要求可以先存入数组再从尾部读入单链表。 若是要求常数附件空间,代码如下:
阅读全文
摘要:如题,用大数乘法很简单,但在别处看到一个用100000进制来计算的代码。如下:
阅读全文
摘要:给出2个大整数A,B,计算A*B的结果。 Input 第1行:大数A 第2行:大数B (A,B的长度 <= 1000,A,B >= 0) Output 输出A*B Input示例 123456 234567 Output示例 28958703552
阅读全文
摘要:基准时间限制:1 秒 空间限制:131072 KB 给出2个大整数A,B,计算A+B的结果。 给出2个大整数A,B,计算A+B的结果。 Input 第1行:大数A 第2行:大数B (A,B的长度 <= 10000 需注意:A B有可能为负数) Output 输出A + B Input示例 68932
阅读全文
摘要:哈夫曼编码是 1952 年由 David A. Huffman 提出的一种无损数据压缩的编码算法。哈夫曼编码先统计出每种字母在字符串里出现的频率,根据频率建立一棵路径带权的二叉树,也就是哈夫曼树,树上每个结点 存储字母出现的频率,根结点到结点的路径即是字母的编码,频率高的字母使用较短的编码,频率低的
阅读全文
摘要:椭圆与圆不同,不能八分只能四分。中点椭圆算法将分成两部分应用于第一象限。在斜率绝对值小于1的区域内在x方向取单位步长,在斜率绝对值大于1的区域内在y方向取单位步长。 取,可定义椭圆函数为 即决策参数。 从开始,在方向取单位步长直到区域1和区域2的界限处,然后转还为方向的单位步长,再覆盖第一象限中剩余
阅读全文
摘要:如同光栅画线算法,每步都以间隔单位取样并确定离指定圆最近的像素位置。为了减少计算量,可以将圆八分,根据Bresenham画线算法。我们首先给出点位置函数: 即可得知:(1), 位于圆边界内;(2),位于圆边界上;(3), 位于圆边界外。 第一象限中,假设在绘制了像素点,下一步需要确定绘制的位置是,还
阅读全文
摘要:一、数字微分分析仪(digital differential analyzer, DDA)方法是一种线段扫描转换算法。在一个坐标轴上以单位间隔对线段取样,从而确定另一个坐标轴上最靠近线路径的对应整数值。主要是根据直线公式y = kx + b来推导出来的,其关键之处在于如何设定单位步进,即一个方向的步
阅读全文
摘要:1 //简单的一维数组,适合稠密多项式 2 #include 3 #include 4 #define MaxDegree 1000 5 typedef struct { 6 int CoeffArray[MaxDegree+1]; 7 int HighPower; 8 } *Polynomial; 9 10 void ZeroPolynomial(Po...
阅读全文
摘要:几个板子,以备不时之需。 顺序表: 1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 5 class Vector { 6 private: 7 int size, length; 8 int *data; 9 p
阅读全文
摘要:二叉树的一个演示动画:http://www.cs.usfca.edu/~galles/visualization/BST.html 对分查找(O(logN)): 欧几里得(求最大公因数): 快速取幂: 最长子序列和: 霍纳法则(秦九韶)多项式求和: 快排: 堆排: 快速幂的非递归: 1 蒜头君有一台
阅读全文
摘要:转载:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html 作者: 阮一峰 日期: 2013年7月 4日 转载:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_p
阅读全文
摘要:转载:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html 作者: 阮一峰 日期: 2013年6月27日 作者: 阮一峰 日期: 2013年6月27日 如果你问我,哪一种算法最重要? 我可能会回答"公钥加密算法"。 因为
阅读全文
摘要:一、先说最大子序列和问题,四种解法,时间复杂度依次递减: 1、O(N^3) 2、O(N^2) 3、O(N*logN)--分治递归--假设N是偶数 4、O(N) 该算法附带的一个优点是,它只对数据进行一次扫描,一旦A[i]被读入并处理,它就不再需要被记忆。不仅如此,在任何时刻,算法都能对它已经读入的数
阅读全文
摘要:转载地址: http://m.blog.csdn.net/blog/spirtsong/38273187 素数是除了自身和1以外,没有其它素数因子的自然数。自从欧几里得证明了有无穷个素数以后,人们就企图寻找一个可以构造所有素数的公式,寻找判定一个自然数是不是素数的方法。因为素数的地位非常重要。 鉴别
阅读全文
摘要:Palindromes _easy version Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 28818 Accepted Submissi
阅读全文
摘要:Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 42356 Accepted Submis
阅读全文
摘要:偶数求和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 60672 Accepted Submission(s): 26288 Problem
阅读全文
摘要:题目描述: n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。 Input 一个数N(1 <= N <= 10^9) Output 输出0的数量 每个数阶乘末尾的零是由前面阶乘数字中的因子2和因子5相乘而造成的,又因为5比2多,所以只需考虑5的个数。每隔
阅读全文
摘要:题目描述: 给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。 Input 一个数N(1 <= N <= 10^9) Output 输出N^N的末位数字首先观察下,可以得出N依次递增时的末尾数字是有规律的,即每20个数为一个循环,{1,4,7,6,5,6,3,6,9,0,1,6,3,6
阅读全文
1

浙公网安备 33010602011771号