摘要:
这个比较简单,想清楚基线条件和递归条件就可以了,直接看代码(VS直接运行): #include<iostream> #include<vector> using namespace std; int arrayMax(int data[], int length); int main() { int 阅读全文
摘要:
递归的特点: (1)递归就是在过程或函数里调用自己;(2)在使用递归时,必须有一个明确的递归结束条件,否则会陷入死循环;(3)递归算法通常比较简洁,但运行效率较低;(4)在递归调用的过程中系统为每一层的返回点、局部变量等开辟了栈来存储,所以递归次数过多容易造成栈溢出。(5)调用另一个函数时,当前函数 阅读全文
摘要:
简单查找的时间复杂度为O(n) 二分查找的时间复杂度为O(logn) 用递归实现二分查找: 基线条件:数组只包含一个元素。如果如果要查找的值与这个元素相同,就找到了;否则说明不在数组中。 递归条件:把数组分成两半,将其中一半丢弃,并对另一半执行二分查找。 C++代码实现如下(VS可以直接运行): # 阅读全文