摘要: 算法描述:给定一个整数数组A={9,8,7,6,5,4,5,3,2,1},然后将其按从小到大升序排列,使用冒泡排序实现。输入:A={9,8,7,6,5,4,5,3,2,1}输出:A={1,2,3,5,4,5,6,7,8,9}算法思想:从数组的第一个数开始,与第二个数相比较,如果比第二个大,则交换位置,直到将数组中最大的数排到数组顶端(末尾),依次再将第二大的数排到最大数的前面,直至数组升序排列完成。代码实现:1 for(int i=0,t=0,n=A.length;i<n-1;i++)2 for(int j=0;j<n-1-i;j++)3 for(;(t=A[j])>A[j+ 阅读全文
posted @ 2013-05-27 20:44 thieving 阅读(1276) 评论(6) 推荐(1) 编辑
摘要: 指数函数:一般地,函数y=ax(a>0,且a≠1)叫做指数函数。对所有实数a>0、m和n,有以下恒等式:a0=1a1=aa-1=1/a(am)n=amnaman=am+n对数函数:一般地,函数y=logax(a>0,且a≠1)叫做对数函数。对于a>0,a≠1,m>0,n>0,有以下恒等式:loga(mn)=logam+loganloga(m/n)=logam-logan阶乘:记号n!,读作“n的阶乘”,定位为对整数n>=0,有n!=1 若n=0n!=n*(n-1)! 若n>0因此,n!=1*2*3*4*5*....n斐波那契数:每个斐波那契数都是 阅读全文
posted @ 2013-05-24 00:08 thieving 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 对于大规模的输入,使用渐近函数值来表示算法的运行效率是最好的方法。渐近记号:Θ记号表示有上界和下界,O表示上界,Ω表示下界。运行时间:用O来表示算法的最坏运行情况,而Ω来表示算法的最好运行情况。一般地,算法的运行时间采用最坏的运行情况,例如插入排序的最坏运行情况是O(n2),但其实如果输入是排好序的,那么运行时间是O(n),但是我们一般认为O(n2)才是它的运行时间。 阅读全文
posted @ 2013-05-23 23:22 thieving 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 算法(Algorithm):模型分析的一组可行的、确定的和有穷的规则。算法的五个特征:1、有穷性:必须能够在执行有限个步骤之后终止运行;2、确切性:每一个步骤必须有确切的定义;3、输入项:必须有零个或多个输入来刻画运行对象的初始状态;4、输出项:必须有零个或多个输出来反映数据加工处理的终止状态;5、可行性:任何步骤都可以被分解为一个或多个基本可执行的操作步且能够在有限的时间内执行完成; 阅读全文
posted @ 2013-05-20 23:56 thieving 阅读(186) 评论(0) 推荐(0) 编辑