
Algorithm
文章平均质量分 80
Xiao_Peter
nothing special haha
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
证明算法复杂度
求解递归式,计算时间复杂度方法一:代换法代换法主要需要以下两个步骤1、 猜答案,不需要完全猜出来,不需要知道常熟系数的准确值,而只需要猜出它的形式,比如猜一个递归式的时间复杂度大概是O(n2),即它的运行时间应该是一个常熟乘以n2,可能还会有一些低阶项。2、 用数学归纳法证明之,设法求出常数系数可以使问题成立例如 T(n)= 4T(n/2) +n , [T(1) = O(1)]通过观察该递归式转载 2014-03-05 16:06:55 · 4731 阅读 · 0 评论 -
anagrams
这篇文章主要是描述一个单词的变体或者变换。问题的描述:在编程珠玑里面是这样的:据说是百度的一个面试题,是这样描述的:其实总结下问题描述其实是差不多的:给定一个字典(即单词序列),用户输入一个单词,求出字典中单词的变换?一:看到这个题目后,直觉是可能是这样的:求出输入单词的全部变换(假如单词的长度是n,则其全部变换有n!个。如果有相同的字母就不是n!了吧?),求出单词的变换后,判断每个变换是否在字典转载 2014-03-05 16:06:27 · 493 阅读 · 0 评论 -
大整数相乘算法
一 转换为二进制求,推导出的公式适合十进制计算设X和Y都是n位的二进制整数,现在要计算它们的乘积XY。我们可以用小学所学的方法来设计一个计算乘积XY的算法,但是这样做计算步骤太多,显得效率较低。如果将每2个1位数的乘法或加法看作一步运算,那么这种方法要作O(n2)步运算才能求出乘积XY。下面我们用分治法来设计一个更有效的大整数乘积算法。 图6-3 大整数X和Y的分段 我们将n位的二进制整数X和Y各转载 2014-03-05 16:07:15 · 1857 阅读 · 0 评论 -
JAVA 合并排序(递归算法)
JAVA 合并排序(递归算法) 合并排序,递归算法,利用分治策略+-------------------------------------------------code--------------------------------------------------------------+ // 合并排序,递归算法,利用分治策转载 2014-03-05 16:07:13 · 2017 阅读 · 0 评论 -
AVL树
1.什么是AVL树 AVL树是带有平衡条件的二叉查找树,是其每个结点的左子树和右子树的高度差最多差1的二叉查找树。如图1,左边的树是AVL树,但右边的不是。图1 左边的是AVL树,右边的不是2.AVL树的基本操作 当向一棵AVL树中插入一个结点时,可能破坏AVL树的特性(例如,将6插入图1的AVL树中将会破坏项为8的结点平衡条件)。因此,我们需要对树进行简单的修正转载 2014-03-05 16:07:11 · 703 阅读 · 0 评论