1 / 14

Right Skew Pointers

Right Skew Pointers. 2. 2. -. -. 1 3 1 7 0 1. 1 3 1 7 0 1. -. -. 4 6 4 5 3 0. 4 6 4 5 3 0. -. -. 2. 2. -. -. 4. 4. -. -. 8. 8. 1 2 3 4 5 6.

kipp
Download Presentation

Right Skew Pointers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Right Skew Pointers 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 Right half Left half As a whole

  2. Finding Right Skew Pointers S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 0.5 4.5 i=1 Prefix sum: 2, 1, 4, 5, 12, 12, 13, 9, 15, 19, 24, 27, 27, 25, 21, 13 μ(S1)=2.4, μ(S1S2)=13/7, μ(S1S2S3)=9/8, μ(S1…S4)=15/9, μ(S1…S5)=24/11, μ(S1…S6)=27/12, μ(S1…S7)=27/13, μ(S1…S8)=25/14, μ(S1…S9)=21/15, μ(S1…S10)=15/16, So the first DRSP(1,16) starting from i=1 is determined (at index 5).

  3. Finding Right Skew Pointers S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=2 0.5 4.5 Prefix sum: -1, 2, 3, 10, 10, 11, 7, 13, 17, 22, 25, 25, 23, 19, 11 μ(S1)=2.5, μ(S1S2)=11/6, μ(S1S2S3)=7/7, μ(S1…S4)=13/8, μ(S1…S5)=22/10, μ(S1…S6)=25/11, μ(S1…S7)=27/13, μ(S1…S8)=23/13, μ(S1…S9)=19/14, μ(S1…S10)=11/15 So the first DRSP(2,16) starting from i=2 is determined (at index 5).

  4. Finding Right Skew Pointers S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=3 0.5 4.5 Prefix sum: 3, 4, 11, 11, 12, 8, 14, 18, 23, 26, 26, 24, 20, 12 μ(S1)=11/3, μ(S1S2)=12/5, μ(S1…S3)=8/6, μ(S1…S4)=14/7, μ(S1…S5)=23/9, μ(S1…S6)=26/10, μ(S1…S7)=26/11, μ(S1…S8)=24/12, μ(S1…S9)=20/13, μ(S1…S10)=12/14 So the first DRSP(3,16) starting from i=3 is determined (at index 5).

  5. Finding Right Skew Pointers S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=4 0.5 4.5 Prefix sum: 1, 8, 8, 9, 5, 11, 15, 20, 23, 23, 21, 17, 9 μ(S1)=8/2, μ(S1S2)=9/4, … obviously μ(S1) is the largest. So the first DRSP(4,16) starting from i=4 is determined (at index 5).

  6. Finding Right Skew Pointers S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=5 0.5 4.5 Prefix sum: 7, 7, 8, 4, 10, 14, 19, 22, 22, 20, 16, 8 μ(S1)=8/2,…, … obviously μ(S1) is the largest. So the first DRSP(5,16) starting from i=5 is determined (at index 5).

  7. Finding Right Skew Pointers S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=6 Prefix sum: 0, 1, -3, 3, 7, 12, 15, 15, 13, 9, 1 μ(S2)=1/2, μ(S2S3)=-3/3, μ(S2…S4)=3/4, μ(S2…S5)=12/6, μ(S2…S6)=15/7, μ(S2…S7)=15/8, μ(S2…S8)=13/9, μ(S2…S9)=9/10, μ(S2…S10)=1/11 So the first DRSP(6,16) starting from i=6 is determined (at index 12).

  8. Finding Right Skew Pointers S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=7 Prefix sum: 1, -3, 3, 7, 12, 15, 15, 13, 9, 1 μ(S2)=1, μ(S2S3)=-3/2, μ(S2…S4)=3/3, μ(S2…S5)=12/5, μ(S2…S6)=15/6, μ(S2…S7)=15/7, μ(S2…S8)=13/8, μ(S2…S9)=9/9, μ(S2…S10)=1/10 So the first DRSP(7,16) starting from i=7 is determined (at index 12).

  9. Finding Right Skew Pointers S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=8 Prefix sum: -4, 2, 6, 11, 14, 14, 12, 8, 0 μ(S3)=-4, μ(S3S4)=-2/2, μ(S3…S5)=11/4, μ(S3…S6)=14/5, μ(S3…S7)=14/6, μ(S3…S8)=12/7, μ(S3…S9)=8/8, μ(S3…S10)=0 So the first DRSP(8,16) starting from i=8 is determined (at index 12).

  10. Finding Right Skew Pointers S2 S3 S4 S5 S6 S7 S8 S9 S10 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=8 Note that we have correctly find the right-skew pointers of the whole sequence. Prefix sum: -4, 2, 6, 11, 14, 14, 12, 8, 0 μ(S3)=-4, μ(S3S4)=-2/2, μ(S3…S5)=11/4, μ(S3…S6)=14/5, μ(S3…S7)=14/6, μ(S3…S8)=12/7, μ(S3…S9)=8/8, μ(S3…S10)=0 So the first DRSP(8,16) starting from i=8 is determined (at index 12).

  11. Using Pointer-Jumping Table to Find the Maximum (Take i = 0 as an example) 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 Pointer -Jumping table i=1 TPJ(9,0)=9, TPJ(9,1)=11, TPJ(9,2)=13, TPJ(9,3)=16, TPJ(9,4) = 16 TPJ(10,0)=11, TPJ(10,1)=12, TPJ(10,2)=14, TPJ(10,3)=16, TPJ(10,4) = 16 TPJ(11,0)=11, TPJ(11,1)=12, TPJ(11,2)=14, TPJ(11,3)=16, TPJ(11,4) = 16 TPJ(12,0)=12, TPJ(12,1)=13, TPJ(12,2)=15, TPJ(12,3)=16, TPJ(12,4) = 16 TPJ(13,0)=13, TPJ(13,1)=14, TPJ(13,2)=16, TPJ(13,3)=16, TPJ(13,4) = 16 TPJ(14,0)=14, TPJ(14,1)=15, TPJ(14,2)=16, TPJ(14,3)=16, TPJ(10,4) = 16 TPJ(15,0)=15, TPJ(15,1)=16, TPJ(15,2)=16, TPJ(15,3)=16, TPJ(15,4) = 16 TPJ(16,0)=16, TPJ(16,1)=16, TPJ(16,2)=16, TPJ(16,3)=16, TPJ(16,4) = 16

  12. μ(S1…S7)=27/13 Step1:μ(SLSR(TPJ(9,2)))=27/13 > μ(SLSR(TPJ(9,3)))=15/16 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=1 TPJ(9,0)=9, TPJ(9,1)=11, TPJ(9,2)=13, TPJ(9,3)=16 TPJ(10,0)=11, TPJ(10,1)=12, TPJ(10,2)=14, TPJ(10,3)=16 TPJ(11,0)=11, TPJ(11,1)=12, TPJ(11,2)=14, TPJ(11,3)=16 TPJ(12,0)=12, TPJ(12,1)=13, TPJ(12,2)=15, TPJ(12,3)=16 TPJ(13,0)=13, TPJ(13,1)=14, TPJ(13,2)=16, TPJ(13,3)=16 TPJ(14,0)=14, TPJ(14,1)=15, TPJ(14,2)=16, TPJ(14,3)=16 TPJ(15,0)=15, TPJ(15,1)=16, TPJ(15,2)=16, TPJ(15,3)=16 TPJ(16,0)=16, TPJ(16,1)=16, TPJ(16,2)=16, TPJ(16,3)=16 Pointer -Jumping table

  13. Step1:μ(SLSR(TPJ(9,2)))=27/13 > μ(SLSR(P(TPJ(9,2)+1))=25/14 Step2:μ(SLSR(TPJ(9,1)))=24/11 < μ(SLSR(P(TPJ(9,1)+1)))=27/12 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=1 TPJ(9,0)=9, TPJ(9,1)=11, TPJ(9,2)=13, TPJ(9,3)=16 TPJ(10,0)=11, TPJ(10,1)=12, TPJ(10,2)=14, TPJ(10,3)=16 TPJ(11,0)=11, TPJ(11,1)=12, TPJ(11,2)=14, TPJ(11,3)=16 TPJ(12,0)=12, TPJ(12,1)=13, TPJ(12,2)=15, TPJ(12,3)=16 TPJ(13,0)=13, TPJ(13,1)=14, TPJ(13,2)=16, TPJ(13,3)=16 TPJ(14,0)=14, TPJ(14,1)=15, TPJ(14,2)=16, TPJ(14,3)=16 TPJ(15,0)=15, TPJ(15,1)=16, TPJ(15,2)=16, TPJ(15,3)=16 TPJ(16,0)=16, TPJ(16,1)=16, TPJ(16,2)=16, TPJ(16,3)=16 Pointer -Jumping table

  14. Step1:μ(SLSR(TPJ(9,2)))=27/13 > μ(SLSR(P(TPJ(9,2)+1))=25/14 Step2:μ(SLSR(TPJ(9,1)))=24/11 < μ(SLSR(P(TPJ(9,1)+1)))=27/12 Step3:μ(SLSR(9,12) > μ(SLSR(P(12+1))) And μ(S1) > μ(SLSR(9,12)) So the maximal is at S1. 2 2 - - 1 3 1 7 0 1 1 3 1 7 0 1 - - 4 6 4 5 3 0 4 6 4 5 3 0 - - 2 2 - - 4 4 - - 8 8 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 13 14 15 16 13 14 15 16 i=1 TPJ(9,0)=9, TPJ(9,1)=11, TPJ(9,2)=13, TPJ(9,3)=16 TPJ(10,0)=11, TPJ(10,1)=12, TPJ(10,2)=14, TPJ(10,3)=16 TPJ(11,0)=11, TPJ(11,1)=12, TPJ(11,2)=14, TPJ(11,3)=16 TPJ(12,0)=12, TPJ(12,1)=13, TPJ(12,2)=15, TPJ(12,3)=16 TPJ(13,0)=13, TPJ(13,1)=14, TPJ(13,2)=16, TPJ(13,3)=16 TPJ(14,0)=14, TPJ(14,1)=15, TPJ(14,2)=16, TPJ(14,3)=16 TPJ(15,0)=15, TPJ(15,1)=16, TPJ(15,2)=16, TPJ(15,3)=16 TPJ(16,0)=16, TPJ(16,1)=16, TPJ(16,2)=16, TPJ(16,3)=16 Pointer -Jumping table

More Related