算法分析:搜索算法效率比较
家的美衣阁 2008-06-25 08:53:26 Description
给定一个已经排序的有N个整数组成的数列,在该队列中查找指定整数,并观察不同算法的运行时间。
考虑两类算法:一个是线性搜索,从某个方向依次扫描数列中各个元素;另一个是二叉搜索法。并分别用递归和非递归实现,分析线性搜索算法和二叉搜索算法的时间复杂度。
Input
有多组测试数据。每组测试数据第一行输入n(1<=n<=10000000)第二行输入n个已从小到大排序的整数。
第三行输入一个整数a 在数列中寻找a出现的位置,设第一个数的位置为1。
当输入n=0时,输入结束
Output
每组测试数据输出一个整数。若a在数列中,则输出a在数列中的位置,否则输出-1。
Sample Input
5
1 4 6 8 10
8
4
1 2 3 4
6
Sample Output
4
-1