Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) Slide 1 ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) Slide 2 ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) Slide 3 ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) Slide 4 ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) Slide 5 ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) Slide 6 ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) Slide 7 ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ) Slide 8
Upcoming SlideShare
ΠΛΗ30 ΜΑΘΗΜΑ 2.1
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)

Download to read offline

Διαίρει και Βασίλευε

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)

  1. 1. 30 2: 2.1: ! " #$%& " ! "#$ % & ' ' ()& '* + ,-./0 ! " #1 ' $ % & ' '* 2 ,-./0 3 /" #1 ' 4 * 5 " 677 8 & 9 &: ;& ! " 4< = . $'(" !$ !$" !()$ !$ !$" & : ' ' *$ (-) ' ' *$ ! )& ) * " +( ,& ! " ! )& ) * " +( ,& ' ' *$ +( $" +$ " - &( " (QuickSort) +( $" ' $+ " !$ k- (! $ $% .& & ' & +( $" $ ' $% & ,& Strassen B. , )& ." ) * " +$ ,& #! " ! & 2 &(! ! !$ !$" )$ $% ! ! )& ." '$ .)$ & & '! ) , ," + & ." $*$ $+ " + ! & ! &(" +$ $ : ( 2.1) ! )& !$ & $% $+ ! $% ( 2.2) ! !,& /' !,& +( ,& ( 2.3) 0' )$ & ( * * " ! )& ." ! " +$ ,& '$ & !(" % ".
  2. 2. B. , 1. $! " 1& " +( $" * 2 & ! ! '( ! - " 2 ! : 1. : ' !$ ) $% ' $2 !$" (! ' . $ " '$' $2 ! . 2. 0 0 0 : ' !,& ' . $ " '$' $2 !,& ( & * $ ." " !$ * $ +( $ ) 3. 0 0 : 0'$ $+ (" ! " % " !$ ) $% ' $2 !$", '( ! " ' . $ " % " !,& '$' $2 !,&. . , 1. 1. +( $" ! - &( " MergeSort %! " +( $" ! - &( " MergeSort ( +( $" - &( " +)3& ) & 4 $+ !$ : 1. : ' & " ), 5 ! *%$ . : !$& ' & !$& ' & ],...,[ 1 naaA = ],...,[ 2/11 naaA = ],...,[ 12/2 nn aaA += '$ ' $ (! ! !$ +$ $ & : 2. 0 0 0 : ' !,& *%$ '$' $2 !,& '$ ' $ %'!$ & + &$&! & * $ ." " !$ MergeSort. 3. 0 0 : +)3& !,& *%$ ' & ,& + & ! ! & * * Merge (2 .' 1.4) + ( ) (&$ 2/11 n 12/2 nn + )log(...)( 2 2)( nnn n TnT Θ==Θ+= . , 1. 2. +( $" ! - &( " QuickSort &! " +( $" ! - &( " QuickSort ( +( $" +$ " - &( ") & ' " 4 $+ !$ : 1. : ' & " ), 5 ! *%$ . : !$& ' & 1 '$ ' ) ( ! !$ ) '$ & (! '( !$ 1 ],...,[ 1 naaA = 1 1 !$& 2 '$ ' .) ( ! !$ ) '$ & + %! '( !$ 1 2. 0 0 0 : ' !,& *%$ '$' $2 !,& (! - &( !,& '$' & ,& 1 2) '$ ' $ %'!$ & + &$&! & * $ ." " !$ QuickSort. 3. 0 0 : ' & " A = [A1] 1[A2] . , 1. 2. +( $" ! - &( " QuickSort (1.# *$ 3* ") '! " !, 4 & ! $'$ ! " * * " QuickSort: procedure QuickSort(A,start,finish) if start<finish then pos=Partition(A,start,finish) QuickSort(A,start,pos-1) QuickSort(A,pos+1,finish) end ifend if end procedure procedure Partition(A,start,finish) odigo=A[start] i=start; j=finish for (k=start+1 to finish) if (A[k]>odigo) B[j]=A[k]; j=j-1 else B[i]=A[k]; i=i+1 end for B[i]=odigo; = return pos; end procedure
  3. 3. . , 1. 2. +( $" ! - &( " QuickSort (2. * + !. ") (! " " ! .-$ .& ' * + !. " ! " Partition: B.1 B.2 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4k i j 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 B.3 B.4 B.5 B.6 B.7 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 11k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 18 11k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 20 18 11k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 6 20 18 11k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 6 1 20 18 11k i j 1 2 3 4 5 6 7 8 7 4 6 1 9 20 18 11 +( $" ! - &( " QuickSort (2. * + !. ") ! " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 7 4 11 9 6 1 14 5 2 3 10 13 18 19 22 20 1 2 3 4 5 6 7 8 9 10 11 12 7 4 11 9 6 1 14 5 2 3 10 13 4 6 1 5 2 3 7 13 10 14 9 11 14 15 16 19 22 20 19 20 22 1 2 3 4 5 6 4 6 1 5 2 3 1 2 3 4 5 6 8 9 10 11 12 13 10 14 9 11 10 9 11 13 14 15 16 20 22 20 221 2 3 4 5 6 10 9 11 13 14 20 22 16 22 22 1 2 3 1 2 3 1 3 2 5 6 5 6 5 6 8 9 10 10 9 11 9 10 11 12 14 14 6 6 6 2 3 3 2 2 3 2 2 2 8 9 9 10 11 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 9 10 11 13 14 18 19 20 22 . , 1. 2. +( $" ! - &( " QuickSort (3. & ) ! " * * !$ Partition .) '$ ' $ (! ! (n) & 6 %! " '!, ": 7! & !$ ' $ + & ! ! & . !$ ' & . (! ' $ %'! & * $ : )log(...)(2)( . nnn n TnT Θ==Θ+= αςκυριαρχθ & (! " '!, ": 7! & !$ ' $ + & ! ! & . !$ ' & . (! ' $ %'! & * $ : ! & . ' '!, ? )log(...)( 2 2)( nnn n TnT Θ==Θ+= ( ) )(...)(1)( 2 . nnnTnT Θ==Θ+−= επαναληψηςµεθ . , 1. 2. +( $" ! - &( " QuickSort (3. & ) ! " & . " '!, ": & , $ (! & $' & ! * & ! ' ! !$ ' & *%$ $ ! !(! ! . $ ( $ $ ' - " !$ +$ $ * &$&! '( ! & & * $ ). : [ ] [ ] [ ]nTnTnnTnnTT nT )()0()1(...)()2()1()()1()0( )( Θ++−++Θ+−Τ++Θ+−+ = 8 ' $ ' : 6 ! ! & $'$ '$* &% ! (! )% T(n)= (nlogn) [ ] [ ] [ ] n nT )( = [ ] n nnnTTT nT )()(...)1()0(2 )( Θ++++ = [ ] )( )(...)1()0(2 )( n n nTTT nT Θ+ +++ =
  4. 4. . , 1. 3. +( $" ' $+ " QuickSelect ! " : & ! .& " ! - &( !$" ' & " n !$ ) . 9 ! ! & 2 !$ k- (! $ !$ ) $ * + ! + $!%'$ : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 $ 5- (! $ !$ ) $ & !$ 5 $ 10- (! $ !$ ) $ & !$ 11 +( $ : $4 & " +( $": - &( !$& ' & ( MergeSort) '. - !$ k-$ (! $ !$ ) $. $ ' $ (! ! : (nlogn) QuickSelect: 4 $+ : $ /! : O(n) . , 1. 3. +( $" ' $+ " QuickSelect ( *. ) #! " ! ( ! !o ' $ !$ ' & '$ & * * partition. ) 5 ! 4$ & : )&$ .& & '( !$ " *%$ '$' & " '$ ' $ %'!$ & ! ! $'$'$ !$ k. 1! 4$% * * Partition ' !$& ' & ," - " [A1] apos [A2] & k=pos !(! 2 !$ !$ ) $ & !$ apos. & k<pos !(! : )&$ !$& ' & A1 + !$ k- (! $ !$ ) $ & k>pos !(! : )&$ !$& ' & 2 + !$ (k-n1-1)- (! $ !$ ) $ (('$ n1 !$ ' $" !,& !$ ) ,& !$ 1) . , 1. 3. +( $" ' $+ " QuickSelect (1.# *$ 3* ") $! " $'$ : *$+ 3 ! " ' ' &, * * " & ( $ : procedure QuickSelect(A,start,finish,k) if start>finish then return 0 elseelse pos=Partition(A,start,finish) if k=pos then return A[pos] else if k<pos then return QuickSelect(A,start,pos-1,k) else if k>pos then return QuickSelect(A,pos+1,finish,k-pos) end if end if end procedure 3. +( $" ' $+ " QuickSelect(2. * + !. " + k=12) %! " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 7 4 11 9 6 1 14 5 2 3 10 13 18 19 22 20 1 2 3 4 5 6 7 8 9 10 11 12 7 4 11 9 6 1 14 5 2 3 10 13 4 6 1 5 2 3 7 13 10 14 9 11 8 9 10 11 12 13 10 14 9 11 10 9 11 13 1410 9 11 13 14 12 14 14
  5. 5. . , 1. 3. +( $" ' $+ " QuickSelect (3. & ) &! " * * !$ Partition .) '$ ' $ (! ! (n) & 6 %! " '!, ": 7! & !$ ' $ + & ! ! & . !$ ' & . (! ' $ %'! & * $ : )(...)()( . nn n TnT Θ==Θ+= αςκυριαρχθ & (! " '!, ": 7! & !$ ' $ + & ! ! & . !$ ' & . (! ' $ %'! & * $ : 5( ! .& ' $ .- '&$ ' $ ' $ !$ ' & 3 ! & ' ! +) & ! .& ' $ !$ ' & ' '$ ! & . . )(...)( 2 )( nn n TnT Θ==Θ+= ( ) )(...)(1)( 2 . nnnTnT Θ==Θ+−= επαναληψηςµεθ . , 1. 3. +( $" ' $+ " QuickSelect (4. + ! * * &! *,&) '! " $! & ! * * !,& ' &! *,& $'$ : , 5 ! !$ ) 5- * " '( 5- * ' .+$ !$ $ !$ ) $. ' & 2 &$ & * $ + ! !$ ) . ' .+$ * * !$ $ !,& ,& (!,& ,&…) '(' .+$ * * !$ $ !,& ,& (!,& ,&…) '( ' &! * . .).: 5- * " $" & " & * $ !. ' ! .4 ! !$ 9 ( ' $+ $* +$% !$ ) $ ) 16 13 1 2 3 4 5 18 7 4 11 9 6 7 8 9 10 20 6 1 22 19 11 12 13 14 15 14 5 2 3 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 9 19 5 13 . , 1. 3. +( $" ' $+ " QuickSelect (4. + ! * * &! *,&) (! " ' $+ !$ $ !$ ) $ '( 5 !$ ) . ! ( ) (&$: / & $ ' & " .) n !$ ) . $ &$ ) (&$ T(n) ' .+$ n/5 4$ ." !$ $ ( ) (&$ (1)). $ 2 !( . &$ ( ) (&$ 1' ! &$ & * $ + n/5 * *$ .& . )()1( 5 n n Θ=Θ 1' ! &$ & * $ + n/5 * *$ .& . & '3" '$ ' $ (! ! ! " ' $+ " !$ !$ ) $ ! & * * !,& 5- *,& ' $ %'! '( ! & ' ! " & * $ " ). ": '$* &% ! (! & '$ % ( ' $, * (! 2 '$ '!$&! !$ ) !$& 3n/10 !$ ) ( '(* - ' ' ! ). * (+ & * $ ! " QuickSelect + & + !$ '$ % 7n/10 !$ ) . )(...)( 5 )( . nn n TnT Θ==Θ+= αςκυριαρχθ . , 1. 3. +( $" ' $+ " QuickSelect (4. + ! * * &! *,&) ! " & , !3&$ ! & * * ' $+ " $* +$% !$ ) $ !$& ' $ +$% &$ 3* : procedure QuickSelect(A,start,finish,k) if start=finish then return A[start] elseelse m 5- . swap(A[m],A[start]) pos=Partition(A,start,finish) if k=pos then return A[pos] else if k<pos then return QuickSelect(A,start,pos-1,k) else if k>pos then return QuickSelect(A,pos+1,finish,k-pos) end if end if end procedure
  6. 6. . , 1. 3. +( $" ' $+ " QuickSelect (4. + ! * * &! *,&) ! " & * $ ). '$ ' + 4 ! & ! '$ ' $ (! ! !$ +$ $ & : & % $ .& ' (2 +. $ " n: ' &! * " . $ & ) (&$ (n)' &! * " . $ & ) (&$ (n) * * Partition . ) (&$ (n) & * $ + & + .& ' (2 +. $ " !$ '$ % 7n/10, & '3" $ ) (&$" '$ ' ! ! & (7n/10) & '3": ! & ) (! ' '!, , ! .)$ T(n)=O(n) )(...)( 10 7 )( . nn n TnT Θ==Θ+= αςκυριαρχθ . , 1. 4. +( $" '$ ' $% ' & ,& Strassen ! " : '$ $+ ! !$ + &( &$ *%$ nxn ' & ,& . ++ ++ =×= =×= 2222122121221121 2212121121121111 2221 1211 2221 1211 babababa babababa bb bb aa aa C BAC +( $ : 4 $+ !$ +&, !$% +$ $ '( 12. '$ ' $ (! ! !$ & (n2). +( $" !$ Strassen: 4 $+ !$ : $ ' $ (! ! : (n2,81) ( %! $ +( $ . %! '$ ' $ (! ! .) ! + ": (n2,38) ++ 222212212122112122212221 bababababbaa . , 1. 4. +( $" '$ ' $% ' & ,& Strassen O +&, !(" +( $" '$ ' $% * * ! !,& ' & ,& '$ & $'$ : *$+ 3 ," - ": ! " procedure MultMatrix(A,B) for (i=1 to n) for (j=1 to n) C[i][j]=0; '$ ' $ (! ! & : C[i][j]=0; for (k=1 to n) C[i][j]=C[i][j]+A[i][k]*B[k][j]; end for end for end for return C end procedure ( ) )(...)1()1()( 3 nnnnnT Θ==Θ⋅+Θ⋅⋅= . , 1. 4. +( $" '$ ' $% ' & ,& Strassen Strassen ‘70: 4 $+ !$ * 2 ( , 3 (! n ! $") ' & " ' & !$ " ' & ": #! " = 1211 AA AA A = 1211 BB BB B 7'$ .& " '( !$ " '$' & " .) .+ $" n/2 x n/2 O Strassen ' $ ' & '$ $+ !$ + &( &$ C=AxB ! 5$&! " !$& ' & : 2221 AA = 2221 BB B = 2221 1211 CC CC C
  7. 7. . , 1. 4. +( $" '$ ' $% ' & ,& Strassen 1 ' $ .++ : )% (! : $! " 2222122122 2122112121 2212121112 2112111111 BABAC BABAC BABAC BABAC += += += += &! & &$ !$& nxn '$ / $ !,& ' & ,&. : &$&! 8 '$ / $ n/2 x n/2 ' & ,& 0 : & * $ !$& * $ ! ('$. 0 0 : 4 ' $ . " nx2 x nx2 ' & ,& / + & % , .& ' (2 +. $ " n, %&, 8 '$' $2 ! +. $ " n/2 &* 5, ! " % " ) (&$ (n2) '$ ' $ (! ! & : 6 2 ! , ). !$& ' $4 & +( $ 2222122122 BABAC += )(...)( 2 8)( 32 nn n TnT remMasterTheo Θ==Θ+= . , 1. 4. +( $" '$ ' $% ' & ,& Strassen 1 ' $ .++ : )% (! : %! " 2222122122 2122112121 2212121112 2112111111 BABAC BABAC BABAC BABAC += += += += &! & &$ !$& nxn '$ / $ !,& ' & ,&. : &$&! 8 '$ / $ n/2 x n/2 ' & ,& 0 : & * $ !$& * $ ! ('$. 0 0 : 4 ' $ . " nx2 x nx2 ' & ,& / + & % , .& ' (2 +. $ " n, %&, 8 '$' $2 ! +. $ " n/2 &* 5, ! " % " ) (&$ (n2) '$ ' $ (! ! & : 6 2 ! , ). !$& ' $4 & +( $ 2222122122 BABAC += )(...)( 2 8)( 32 nn n TnT remMasterTheo Θ==Θ+= . , 1. 4. +( $" '$ ' $% ' & ,& Strassen 2 ' $ .++ (Strassen): (! '$ & ' !$ * $ '$!. ! " - " ' - ": &! " ))(( ))(( 21123 11112 1112221122211 BBAAM BAM BAM BBBAAAM −−= = = +−−+= 742121 652112 3211 MMMMC MMMMC MMMMC MMC +++= −++= +++= += )( )( ))(( 22221121126 111222215 BBBBAM BAAAAM BBAAM −−+= −+−= −+= &! & &$ !$& nxn '$ / $ !,& ' & ,&. : &$&! 7 '$ / $ n/2 x n/2 ' & ,& 0 : & * $ !$& * $ ! ('$. 0 0 : 24 ' $ 4 . " nx2 x nx2 ' & ,& / + & % , .& ' (2 +. $ " n, %&, 7 '$' $2 ! +. $ " n/2 &* 5, ! " % " ) (&$ (n2) '$ ' $ (! ! & : 0' )$ & ( %! " * ' " '$ 4! &$ & ! & '$ ' $ (! ! .) (n2,37). !( $ )% (! +( $" '$ / $ ' & ,& .) '$ ' $ (! ! (n2) ))(( 122221114 BBAAM −−= )(...)( 2 7)( 81,22 nn n TnT remMasterTheo Θ==Θ+= 542122 MMMMC +++=)( 21122211227 BBBBAM −−+= . " 4 $+ 1 " '$ . $ (! .)$ & ' .-$ & !$ " ( $ $ " ! " +( $ ": I. +( $" A %& ' $2 ! +. $ " n !$ & ' % & * $ $ !3 '$' $2 ! !$ $% +. $ " !$ .& , &* 5$&! " ! " % " !$ " + ( ) (&$ ," ' $" n. '! " II. +( $" B %& ' $2 ! +. $ " n !$ & ' % & * $ .& '$' (2 +. $ " n-1 , ! & &.) , & + ! & ! % ) (&$ O(n). III. +( $" %& ' $2 ! +. $ " n !$ & ' % & * $ && '$' $2 ! +. $ " n/3 &* 5$&! " ! " % " !$ " (n2) ) (&$. $ $ & $ '!,! $ ) (&$ !. " + .& '( !$ " ! " +$ $ " '$ $& '( !$%" * .+ ! 2 ! & '!,! !$ '$ ' $ (! ! ?
  8. 8. . " 4 $+ 2 " '$ . $ (! .)$ & ' .-$ & !$ " ( $ $ " ! " +( $ ": I. +( $" A %& ' $2 ! +. $ " n !$ & ' % & * $ .& '$' (2 , +. $ " 1/4 !$ ) $% ' $2 !$", &3 $ ) (&$" '$ ' ! ! + & 2 !$ ' (2 !( ( +. $ " n/4) '( !$ ) ( ( +. $ " n) & (! " ' (2 !( ( +. $ " n/4) '( !$ ) ( ( +. $ " n) & + (" ," ' $" n. II. +( $" B %& ' $2 ! +. $ " n !$ & ' % & * $ .& '$' (2 +. $ " n/2 , ! & &.) , & + ! & ! % (n3). III. +( $" %& ' $2 ! +. $ " n !$ & ' % & * $ !. '$' $2 ! +. $ " n/2 &* 5$&! " ! " % " !$ " O(n2) ) (&$. $ $ & $ '!,! $ ) (&$ !. " + .& '( !$ " ! " +$ $ " '$ $& '( !$%" * .+ ! 2 ! & '!,! !$ '$ ' $ (! ! ?

Διαίρει και Βασίλευε

Views

Total views

5,651

On Slideshare

0

From embeds

0

Number of embeds

4,665

Actions

Downloads

164

Shares

0

Comments

0

Likes

0

×