1、 Use Insertion Sort Algorithm to sort {49 ,38 ,65 , 97 ,76 ,13 , 27 ,49}. Show the
sorting process.
初试序列:(49) 38 65 97 76 13 27 49
第一次排序:(38 49)65 97 76 13 27 49
第二次排序:(38 49 65) 97 76 13 27 49
第三次排序:(38 49 65 97)76 13 27 49
第四次排序:(38 49 65 76 97) 13 27 49
第五次排序:(13 38 49 65 76 97) 27 49
第六次排序:(13 27 38 49 65 76 97) 49
第七次排序:(13 27 38 49 49 65 76 97)
相关算法:
Void StrightInsertSort(int a[])
{
int i,j;
for(i=2;i<=length;i++)
{
a[0]=a[i]//a[0]用来保存待插入元素
j=i-1;
while(a[0]<a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=a[0];
}
}
2、 We observed that a worst case for Insertion Sort occurs when the keys are initially in
decreasing order. Describe at least two other initial arrangements of the keys that are also
worst cases.
3、 Use Quicksort Algorithm to sort {49,38,65,97,76,13,27,49}. Show the dividing
process of the first pass.
27 38 13 49 76 97 65 49
4、 How many key comparisons does Quicksort (choosing the first element as pivot) do if the
array is already sorted? How many element movements does it do?
n(n-1)/2
0
5、 Carry out DFS Trace on the digraph, and classify all the edges(tree, back, cross, forward).
Assume the vertices are indexed in alphabetical order in the adjVertices array and that each
adjacency list is in alphabetical order.