分治排序(有哨兵位)

原创 2013年12月05日 21:09:54

C++代码:

#include<climits>

void MERG(int *A,int p,int q,int r){
    int n = p - q + 1;
    int m = r - q;
    int L = new int [n+1];
    int R = new int [m+1];
    int i, j;
    for(i = 0;i < n - 1;i++)
        L[i] = A[p +i -1];
    for(j = 0;i < m - 1;j++)
        R[j] = A[q+j];
    L[n] = INT_MAX;
    R[N] = INT_MAX;
    i = 0;
    j = 0;
    for(int k = p;k < r;k++)
        if(L[i] <= R[j]){
            A[k] = L[i];
            i++;
        }else{
            A[k] = R[j];
            j++;
        }
}

void MERGE_Sort(int *A,int p,int q)
{
    if(q < r){
        int q = (p + r) / 2;
        MERGE_Sort(A,p,q);
        MERGE_Sort(A,q+1,r);
        MERG(A,p,q,r);
    }
}


归并排序与分治算法详解

每日一算法,今天我们来谈谈分治算法,再结合算法看看归并排序的实现。同时进一步探讨一下如果从分治算法的结构算出算法的时间复杂度,这点尤为重要。...
  • freestyle4568
  • freestyle4568
  • 2015年12月04日 16:00
  • 1791

排序中的哨兵

直接插入排序算法  (1).算法描述   void lnsertSort(SeqList R)    { //对顺序表R中的记录R[1..n]按递增序进行插入排序     int i,j; ...
  • wangpeng138375
  • wangpeng138375
  • 2014年04月09日 15:26
  • 1090

分治算法排序(C++版)

分治排序: 把一个数组分成两个数组,然后在把这两个数组再各自分成两个数组,直到数组有两个数,然后比较这两个数,并且合并,排序。 就是上面这个样子 的。。 不说了上代码(c++版): /** * n...
  • u012580566
  • u012580566
  • 2015年08月09日 18:04
  • 2154

算法设计之归并排序(C++实现)

归并排序遵循分治法的思想:将
  • u011426031
  • u011426031
  • 2014年08月23日 07:27
  • 3316

快速排序算法-分治思想

以下内容全部转载自:http://www.cnblogs.com/luchen927/archive/2012/02/29/2368070.html 今天介绍快速排序,这也是在实际中最常用的一种排...
  • baidu_20363843
  • baidu_20363843
  • 2015年11月16日 12:19
  • 1620

【从零学习经典算法系列】分治策略实例——快速排序(QuickSort)

快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要O(nlogn)次比较。在最坏状况下则需要O(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)算...
  • JasonDing1354
  • JasonDing1354
  • 2014年07月31日 16:40
  • 3271

分治法排序查找

首先我们要知道什么事分治法,通俗的说“分治法”就是把一个大问题分解成多个小问题进行求解。在计算机中分治法的是一种重要的算法,例如(快速排序,归并排序)。 这次我就是通过快速排序及二分查找实现分治法排序...
  • baidu_28944591
  • baidu_28944591
  • 2016年06月28日 23:43
  • 563

分治策略实现快速排序法

说到算法,暑假就要去实习了,这时才感觉到数据结构和算法的重要性,虽然大二时候已经学过,但是基本用不到,导致现在基本忘了,现在重新拾起,重新把以前学过的和没有学过的算法都理一遍实现一遍!!! 给自己一个...
  • u010687392
  • u010687392
  • 2015年05月27日 11:08
  • 1546

分治法合并排序(C++)

参考网址:http://www.cnblogs.com/Amrirey/p/5440788.html http://blog.csdn.net/left_la/article/details/865...
  • yxwb1253587469
  • yxwb1253587469
  • 2016年12月12日 16:50
  • 310

分治法之合并排序算法理解介绍

分治法应用合并排序算法介绍
  • qq_26071477
  • qq_26071477
  • 2016年06月11日 17:47
  • 6196
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分治排序(有哨兵位)
举报原因:
原因补充:

(最多只允许输入30个字)