2014算法设计与分析计算题 .docVIP

  • 10
  • 0
  • 约1.24万字
  • 约 19页
  • 2016-12-14 发布于北京
  • 举报
《算法设计与分析》 排序和查找是经常遇到的问题。按照要求完成以下各题: (1)对数组A={15,29,135,18,32,1,27,25,5},用快速排序方法将其排成递减序。 解:(1)第一步:15 29 135 18 32 1 27 25 5第二步:29 135 18 32 27 25 15 1 5第三步:135 32 29 18 27 25 15 5 1第四步:135 32 29 27 25 18 15 5 1(2)请描述递减数组进行二分搜索的基本思想,并给出非递归算法。 解:基本思想:首先将待搜索元素v与数组的中间元素进行比较,如果,则在前半部分元素中搜索v;若,则搜索成功;否则在后半部分数组中搜索v。 非递归算法: 输入:递减数组A[left:right],待搜索元素v。 输出:v在A中的位置pos,或者不在A中的消息(-1)。 步骤: int BinarySearch(int A[],int left,int right,int v) { int mid; while (left=right) { mid=int((left+right)/2); if (v==A[mid]) return mid; else if (vA[mid]) right=mid-1; else left=mid+1; } return -1;} (3)给出上述算法的递归

文档评论(0)

1亿VIP精品文档

相关文档