求解各位大神,能详细解答下,不只是答案,谢谢了。
考虑下面的算法:
输入: n个元素的数组A
输出:按递增顺序排序的数组A
(1) 算法所执行的元素比较次数最少是多少次?什么时候达到最少?
(2) 算法所执行的元素比较次数最多是多少次?什么时候达到最多?
(3) 算法所执行的元素赋值次数最少是多少次?什么时候达到最少?
(4) 算法所执行的元素赋值次数最多是多少次?什么时候达到最多?
(5) 用О、和Ω记号表示算法的运行时间。
(6) 可以用Θ记号来表示算法的运行时间吗?请说明。
最少比较n-1次,当数组本身就是有序的时候最少
最多比较n * (n-1)/2次,当数组逆序的时候最多
最少交换0次,当数组本身就是有序的时候
最多交换n * (n-1)/2次,当数组逆序的时候
O(n)=n^2
Ω(n)=1
Θ(n)=n^2