不好意思,帮我解决这个问题吧!
10、一组序列的关键码为:{28、19、27、49、56、12、10、25}
要求:⑴ 利用快速排序的方法,写出以第一个记录为基准得到的一次划分结果;
      ⑵ 利用堆排序的方法,写出建立的初始大堆
我 的(1)答案是:(12 19 25 10 27)28 (56 49)
      (2):我不会写

解决方案 »

  1.   

    晕死  这个不是SQL内容吧
      

  2.   

    这个是应用程式方面的排序方法,不是sql 的专长。
      

  3.   

    呵呵, 这跟数学没关系, 有空翻翻数据结构, 不是很负责的算法。⑴ 利用快速排序的方法,写出以第一个记录为基准得到的一次划分结果;
    初始 left=0, right=7, key=0
          
    28、19、27、49、56、12、10、25  <-- 从右往左找小于28的, 28跟25交换, key=right=7
    1 25、19、27、49、56、12、10、28  --> 从左往右找大于28的, 28跟49交换, key=left=3
    2 25、19、27、28、56、12、10、49  <-- 从右往左找小于28的, 28跟10交换, key=right=6
    3 25、19、27、10、56、12、28、49  --> 从左往右找大于28的, 28跟56交换, key=left=4
    4 25、19、27、10、28、12、56、49  <-- 从右往左找小于28的, 28跟12交换, key=right=5
    5 25、19、27、10、12、28、56、49  <-- 从左往右找大于28的, 此时28左边的全部小于等于28, 右边的大于等于28, 划分完成因此第一此划分结果为(25、19、27、10、12、28、56、49) ⑵ 利用堆排序的方法,写出建立的初始大堆
    堆排序中的树的特性是:父节点一定大于其子节点。
                28
    19      27
          49  56  12  10
        251   49是最后一个有子节点的节点, 49大于25, 不交换2   前一个有子节点的是27, 27 大于 12 和10, 不交换3   节点19, 其两个子节点都比它大, 选择最大的56跟19交换, 此时堆变成            28
    56      27
          49  19  12  10
        25
        虽然发生了节点交换, 可是19没有子节点, 不对19进行重组
        
    4   节点28, 其子节点56大于它, 28跟56交换, 此时堆变成    
                56
    28      27
          49  19  12  10
        25
        
    5   节点发生变化, 28因为有子节点, 要对28重新建堆处理, 其子节点49大于28 , 交换
                56
    49      27
          28  19  12  10
        25
        
    6   节点发生变化, 28因为有子节点, 要对28重新建堆处理, 其子节点25小于28 , 不交换。因此初始堆是 (56,49 ,27,28,19,12,10,25)    
      

  4.   

    int[] scores=new int[8];//定义一个数组
    int temp;//定义一个变量(替换用的)
    /*给数组负值*/
    scores[0]=28;
    scores[1]=19;
    scores[2]=27;
    scores[3]=49;
    scores[4]=56;
    scores[5]=12;
    scores[6]=10;
    scores[7]=25;
    //开始排序
    for(int i=0;i<scores.length-1;i++){//控制比较多少轮
       for(int j=0;j<scores.length-1-i;j++){//将最大的数字交换到最后
          if(scores[j]>scores[j+1]){//比较前一个数和后一个数的大小
               temp=scores[j];//交换数字
               scores[j]=scores[j+1];
               scores[j+1]=temp;
          }
       }
    }
    上面是冒泡排序,不知道是不是你要的~!