二分搜索算法、快速排序,算法分析与设计(完整的代码,结合例题详细解析)
全套资源,求抱走!!!
1、给定数组a[0 : 8]={1, 8, 12, 15, 16, 21, 30, 35, 39}。采用二分搜索算法完成下述任务:
1)查找是否有元素30,若有返回元素在数组中的位置;如没有返回无此元素。
2)查找是否有元素20,若有返回元素在数组中的位置;如没有返回无此元素。
3)当待搜索元素x=10不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。
2、给定数组a[ ]={8,4,3,7,1,5,6,2},使用快速排序算法对其进行排序,将算法编程实现。
1)写出算法实现代码并截屏程序的运行结果。
2)分析快速排序算法在最好以及最坏情况下的时间复杂性。
3)快速排序算法的性能与划分是否对称有关,设计随机化的快速排序算法解决划分对称性问题,将算法编程实现。