数据结构之排序比较.docVIP

  • 3
  • 0
  • 约5.44千字
  • 约 6页
  • 2018-02-08 发布于河南
  • 举报
数据结构之排序比较

数据结构之排序比较 实验目的: 通过比较选择,插入,冒泡和交换排序的执行时间,明白这几种排序的原理和复杂程度,并通过实验分析在数组为升序,降序,无序时算法的执行效率。 实验原理: 选择排序:算法从位置0开始,判断表中最小元素的小标。一旦找到最小元素,就把这个元素与v[0]的内容进行交换。即v[0]中存放的是最小的元素,而表中其他元素则处于无序状态。接着向后移动位置1,判断子表v[1]…v[n-1]中最小元素的位置。完成交换后,前两个位置是有序的,接着对位置2到n-2重复这个过程。在位置n-1处不进行选择,这是因为v[n-1]是最大的元素。经过n-1趟排序得到有序结果。算法复杂度为O(n*n)。  插入排序:假设第1个元素处于正确的位置,因此,此函数需要在1到v.size()-1范围内进行n-1遍来排序其余的元素。插入排序的基本思想是经过i-1遍处理后v[0..i-1]己排好序。第i遍处理仅将v[i]插入v[0..i-1]的适当位置,使得v[0..i]又是排好序的序列。复制v[i]到一个称作target的临时对象中。向下扫描表,首先比较target和v[i-1],如果v[i-1]≤target?,则v[0..i]已排好序,第i遍处理就结束了,否则v[i]=v[i-1],即把每个大于target的元素右移1个位置,一旦确定了正确的位置,复制target到

文档评论(0)

1亿VIP精品文档

相关文档