2011年8月3日
摘要: 一、什么是算法算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n 的函数f(n),算法执行的时间的增长率与f(n) 的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。时间复杂度用“O(数量级)”来表示,称为“阶”。常 阅读全文
posted @ 2011-08-03 16:06 程序员新鲜事 阅读(222) 评论(0) 推荐(0) 编辑
摘要: <以下微软面试题全来自网络><以下答案与分析纯属个人观点,不足之处,还望不吝指出^_^>题:.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。分析:首先54张牌分别用0到53 的数值表示并存储在一个整形数组里,数组下标代表纸牌所在的位置。接下来,遍历整个数组,在遍历过程中随机产生一个随机数,并以该随机数为下标的数组元素与当前遍历到的数组元素进行对换。时间复杂度为O(n) (注:所得到的每一种结果的概率的分母越大越好)实现代码:/** Author:花心龟 Blog:http://blog.csdn.net/zhanxinhang **/ #include < 阅读全文
posted @ 2011-08-03 02:43 程序员新鲜事 阅读(180) 评论(0) 推荐(0) 编辑