摘要: 题目一:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列数列的定义如下: f[n]=f[n-1]+f[n-2],且f[1]=1,f[2]=1。除了面试官直接要求编程实现斐波那契数列之外,还有不少面试题可以看成是斐波那契数列的应用,比如: 题目... 阅读全文
posted @ 2015-09-11 17:32 taxue505 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 一般的乘方算法,时间复杂度是O(n)非递归方式int Power(int num, int exponent){ int result = 1; while (exponent) { if (exponent & 1) { result... 阅读全文
posted @ 2015-09-11 16:53 taxue505 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录... 阅读全文
posted @ 2015-09-11 13:50 taxue505 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1、算法基本思路 设两个有序的子文件(相当于输入堆)放在同一向量中相邻的位置上:R[low..m],R[m+1..high],先将它们合并到一个局部的暂存向量R1(相当于输出堆)中,待合并完成后将R1复制回R[low..high]中。合并过程: 合并过程中,设置i,j和p三个指针... 阅读全文
posted @ 2015-09-11 11:31 taxue505 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 插入排序的基本思想:每次从未排序的序列中取一个元素,插入到已经排好序的序列的合适位置。小规模输入来说,插入排序速度比较快。许多复杂的排序法,在规模较小的情况下,都使用插入排序法来进行排序。数组的插入排序算法如下:#includeusing namespace std;void Ins... 阅读全文
posted @ 2015-09-11 10:43 taxue505 阅读(104) 评论(0) 推荐(0) 编辑