算法分析与设计要点总结.docx

1、算法(algorithm)就是定义良好的计算过程,取一个或一组值作为输入,并产生一个或一组输出。也就是,算法是一系列的计算步骤,用来将输入数据转换成输出结果。2、插入排序的基本思想:将待排序表看作是左右两部分;其中左边为有序区,右边为无序区;整个排序过程就是将右边无序区中的元素逐个插入到左边的有序区中,以构成新的有序区。伪代码如下:void insert_sort(elementtype A[n+1]){ for (i=2; i=n; i++) // i表示待插入元素的下标 { temp=A[i]; // 临时保存待插入元素,以腾出A[i]的空间 j=i-1; //j指示当前空位置的前一个元素 while (j=1 A[j].keytemp.key ) //搜索插入位置并腾空位 { A[j+1] = A[j]; j=j-1; } A[j+1]=temp; //插入元素 } }3、分治法在每一层递归上都有3个步骤:分解(Devide):将原问题分解成一系列子问题;求解(Conquer) : 递归地求解各子问题,若子问题“足够小”(递归出口),则直接求解。合并(combine) :合并子问题的解,以求解原问题的解。归并排序(merge sort)的操作:分解:分解

文档评论(0)

1亿VIP精品文档

相关文档