<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2008年3月30日

    Title第六章 堆排序

    MAX-HEAPIFY(A,i):    依次調整使A[i]為根的子樹成為最大堆,是堆排序的重要子程序;
    BUILD-MAX-HEAP(A):
       1.  heap-size[A]    ←   length[A]
       2.  for   i   ←  ⌊length[A]/2⌋   downto   1              //從最后一個節點的父節點開始調整  
       3.         do    MAX-HEAPIFY(A,i)

    HEAPSORT(A):
        1.    BUILD-MAX-HEAP(A)
        2.    for    i   ←    length[A]   downto   2
        3.           do   exchange    A[1]   ↔   A[i]
        4.                   heap-size[A]  ←   heap-size[A] -1
        5.                   MAX-HEAPIFY(A,1)

    HEAPSORT的時間復雜度為Ο(nlgn);而且最壞和最佳運行時間都是Ω(nlgn)

    最大優先級隊列支持的操作:
    INSERT(S,x)
    MAXIMUM(S):   返回S中具有最大關鍵字的元素
    EXTRACT-MAX(S):   去掉并返回S中的具有最大關鍵字的元素
    INCREASE-KEY(S,x,k):    將元素x的關鍵字的值增加到k

    HEAP-EXTRACT-MAX(A):   跟堆排序一樣
    MAX-HEAP-INSERT(A,key): 
     1.  heap-size[A] ←  heap-size[A] + 1
     2.  A[heap-size[A]] ← -∞
     3.  HEAP-INCREASE-KEY(A, heap-size[A] , key)

    Title第七章 快速排序

    PARTITION(A,p,r):
     1. x ← A[r]
     2. i ← p-1
     3. for j ←    p to r - 1
     4.       do  if  A[j] £ x
     5.                then  i ← i+1
     6.                         exchange  A[i] ↔ A[j]
     7.  exchange  A[i+1]  ↔ A[r]
     8.  return  i+1

    QUICKSORT(A,p,r)
     1. if  p < r
     2.     then q ← PARTITION(A,p,r)
     3.              QUICKSORT(A,p,q-1)
     4.              QUICKSORT(A,q+1,r)










     

    posted @ 2008-04-18 14:05 迎風十八刀 閱讀(188) | 評論 (0)編輯 收藏

    求解T(n)=T(ceil(n/2))+1

    猜測解為O(lgn)
    只需證T(n)<=clg(n-b)。于是T(n)<=clg(ceil(n/2-b))+1
                                                         <=clg(n/2-b+1)+1
                                                          ...
                                                           <=clg(n-b)

     

    主方法:

    形如T(n)=aT(n/b)+f(n),注意a>=1,b>1
    比較f(n)和nlogba,則T(n)為較大者,如果f(n)=Q(nlogba),則T(n)=Q(nlogbalgn)

    posted @ 2008-03-30 22:26 迎風十八刀 閱讀(172) | 評論 (0)編輯 收藏

    簡單插入排序:


    Insertion-Sort(A):

    1.for j = 2 to length[A]
    2.   do key=
    A[j]
    3.   //insert A[j] into the sorted sequence A[1..j-1]

    4.    i = j-1
    5.    while i>0 and A[i]>key
    6.    do A[i+1=
     A[i]
    7.       i = i-1

    8.   A[i+1= key

    T(n)=O(n2)   ,穩定,空間為O(1) 


     



    合并排序:

    Meger-Sort(A,p,r):

    1if p < r
    2.   then q = floor((p+r)/2
    )
    3.       Meger -
     Sort(A,p,r)
    4.       Meger - Sort(A,q+1
    ,r)
    5.       Meger(A,p,q,r)


    T(n)=O(nlgn),  穩定,空間O(n)

     

    posted @ 2008-03-30 21:33 迎風十八刀 閱讀(334) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 日本视频在线观看永久免费| 国产在线观看无码免费视频| 美女网站免费福利视频| 亚洲av激情无码专区在线播放| 黄床大片免费30分钟国产精品 | 男女一边桶一边摸一边脱视频免费| 国产精品四虎在线观看免费| 日韩国产精品亚洲а∨天堂免| 麻豆国产入口在线观看免费| 亚洲av日韩综合一区二区三区| 又黄又爽无遮挡免费视频| 日本一区二区三区在线视频观看免费 | 亚洲AV无码成人精品区天堂| 久久99免费视频| 亚洲日本香蕉视频| 毛片a级毛片免费播放100| 亚洲精品国产精品| 亚洲国产成人VA在线观看| 一本一道dvd在线观看免费视频 | 亚洲国产成人久久三区| 黄网址在线永久免费观看| 香蕉视频免费在线| 亚洲av无码一区二区三区网站 | 免费一级国产生活片| 中国精品一级毛片免费播放| 亚洲视频国产视频| 四虎成人免费观看在线网址 | 国产久爱免费精品视频 | 91亚洲国产成人精品下载| 久久www免费人成看片| 亚洲AV永久无码天堂影院| 国产成人亚洲精品狼色在线| 老汉精品免费AV在线播放| 亚洲成aⅴ人片久青草影院按摩 | 亚洲国产香蕉碰碰人人| 最近免费中文字幕4| 精品无码国产污污污免费网站国产 | 亚洲成人黄色在线| 亚洲区不卡顿区在线观看| 亚洲免费视频播放| 成人午夜影视全部免费看|