东师《计算机科学》20春在线作业2答案09

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东师《计算机科学》20春在线作业2答
案09
本文档为东北师范大学“计算机科学”课程2020年春季学期在
线作业2的答案。

以下是各个问题的回答:
1. 什么是二分查找算法?描述其基本思想,时间复杂度和空间
复杂度。

二分查找算法是一种在有序数组中查找特定元素的搜索算法。

它的基本思想是:先确定整个查找区间的中间位置,然后将待查找
的值与中间位置的值进行比较。

如果待查找的值等于中间位置的值,则查找成功;如果待查找的值小于中间位置的值,则在数组的左半
部分继续查找;如果待查找的值大于中间位置的值,则在数组的右
半部分继续查找;以此类推,直到查找成功或者查找区间为空。

二分查找算法的时间复杂度为O(log n),其中n 是数组的长度。

空间复杂度为 O(1)。

2. 冒泡排序算法的基本思想是什么?描述其时间复杂度和空间复杂度。

冒泡排序算法的基本思想是:比较相邻元素的大小,如果前一个元素比后一个元素大,则交换这两个元素,从而使较大的元素逐渐往数组的尾部移动,而较小的元素则逐渐往数组的头部移动。

通过多次比较和交换,最终把整个数组排序。

冒泡排序算法的时间复杂度为 O(n^2),其中 n 是数组的长度。

空间复杂度为 O(1)。

3. 描述快速排序算法的基本思想。

比较其与冒泡排序算法的不同点。

快速排序算法的基本思想是:选取一个基准元素,将数组中小于基准元素的放到左边,大于基准元素的放到右边,然后分别对左右两个子数组进行递归排序。

在每次递归中,可以随机选取一个元素作为基准元素,或者选择左、右、中间三个元素的中位数作为基准元素,以提高快速排序算法的效率。

快速排序算法与冒泡排序算法的最大不同点是它采用了分治思想,通过递归地将数组分成较小的子数组来实现排序,因此快速排序算法的时间复杂度可以达到O(nlogn),在平均情况下比冒泡排序算法更加高效。

以上就是本文对东北师范大学“计算机科学”课程2020年春季学期在线作业2答案的回答。

感谢阅读。

相关文档
最新文档