• date post

16-Dec-2015
• Category

## Documents

• view

85

1

Embed Size (px)

description

ΠΛΗ30 ΜΑΘΗΜΑ 1.1

### Transcript of ΠΛΗ30 ΜΑΘΗΜΑ 1.1

• 30 1:

1.1:

• .

.

1.

2.

3.

1.

2 , 30, 1.1:

2.

3.

4.

.

1.

2. (.)

3.

.

• .

3 , 30, 1.1:

, ,

(-)

• . 1. ,

: ( ) ( 30 )

( )

4 , 30, 1.1:

( ):

:

:

:[5, 8, 9, 11, 14][4,12,7,9]

:[5, 8, 9, 11, 14],11 [3,6,9,14,17],12

: InsertionSort, BubbleSort, SelectionSort, MergeSort, QuickSort

: LinearSearch, BinarySearch

: [5, 8, 9, 11, 14] [4,7,9,12]

: NAI -

• . 2.

,

:

: for, while, dowhile : ifelse ifelse

5 , 30, 1.1:

( .. +,-,*,/,mod)

( )

• . 3. 1.

.

.

:

6 , 30, 1.1:

:

SelectionSort :

LinearSearch :

(, ) .

( )T n n=

2( ) 3T n n n= +

• . 3. 1. ( LinearSearch) ( Linear

Search)

7 , 30, 1.1:

procedure LinearSearch(A,x)

for i=1 to nif (A[i]==x)

A n , x. .

return end if

end for

return end procedure

• . 3. 1. ( LinearSearch)

:

( ). , , :

8 , 30, 1.1:

( ). , :

. .

1( ) 1

n

iT n n

=

= =

( ) 1T n =

• . 3. 1. ( SelectionSort) ( SelectionSort)

9 , 30, 1.1:

procedure SelectionSort(A)

for i=1 to npos=ifor j=i+1 to n

if (A[j]

• . 3. 1. (O SelectionSort) ( ) , - .

. ..

[4 3 5 1 2] :

10 , 30, 1.1:

1 2 3 4 5 1 2 3 4 5 1: 4:4 3 5 1 2

1 2 3 4 51 3 5 4 2

1 2 3 4 51 2 5 4 3

1 2 3 4 5 1:

2:

3:

4:

5:

:

1 2 3 4 51 2 3 4 5

1 2 3 4 51 2 3 4 5

• . 3. 1. (O SelectionSort) .

( if) ( ). :

11 , 30, 1.1:

1 1( ) [1 ( 2) 3]n n

i j iT n = = += + + = 1 1

1 1

1

1

1

1 1 1

2 21

2

[4 2( 1)][4 2( ( 1) 1)][4 2( )][4 2 2 ]4 (2 ) (2 )

( 1)4 2 2 4 2 22

3

i j in n

i j in

in

in

in n n

i i i

n

i

n i

n i

n i

n i

n nn n i n n

n n

= = +

= = +

=

=

=

= = =

=

= + =

= + + + =

= + =

= + =

= + =

+= + = + =

= +

• . 3. 1. (O SelectionSort) .

,

if. :

12 , 30, 1.1:

( ) [1 ( 1) 3]n nT n = + + = 1 11

1

1

1 1 1

2 21

2

( ) [1 ( 1) 3][4 ( ( 1) 1)][4 ][4 ]4 ( ) ( )

( 1)4 42

0.5 2.5

n n

i j in

in

in

in n n

i i i

n

i

T n

n i

n i

n i

n i

n nn n i n n

n n

= = +

=

=

=

= = =

=

= + + =

= + + + =

= + =

= + =

= + =

+= + = + =

= +

• . 3. 2.

:

LinearSearch .

SelectionSort .

13 , 30, 1.1:

:

.

(.)

• . 3. 2.

:

:

LinearSearch : :

:

14 , 30, 1.1:

( )n n =)()( nn = :

LinearSearch : :

:

SelectionSort : :

:

SelectionSort : :

:

)()( nn =

( ) 1n =)1()( = n

2( ) 3n n n = +

2( ) 0.5 2.5n n n = +

)()( 2nn =

)()( 2nn =

• . 3. 2.

; :

:

15 , 30, 1.1:

< < < <

:

n. :

:

k >0 :

k >0 :

a >1 :

)()( knn =

)()( nan =

)(log)( nn k=

)!()( nn = )()( nnn = nnn ( ) (1)n =

• . 3. 3.

.

.

16 , 30, 1.1:

! n, n .

(.) .

• . 3. 3. ( Fibonacci) :

Fibonacci :

17 , 30, 1.1:

=

=

= 2,11,1

n

n

fn

n- .

>+

2,21 nff nnn

1 2 3 4 5 6 7 8 9 101 1 2 3 5 8 13 21 34 55 ...

• . 3. 3. ( Fibonacci) n- Fibonacci :

18 , 30, 1.1:

procedure Fibonacci(n)

A[1]=1A[2]=1for i=3 to n

A[i]=A[i-1]+A[i-2]

:

n A n i

T(n)=n+2 T(n)=(n)

A[i]=A[i-1]+A[i-2]end forreturn A[n]

end procedure

• . 3. 3. ( Fibonacci) ;

19 , 30, 1.1:

procedure Fibonacci(n)

if (n=1) return 1 else if (n=2) return 1else

a=1

: i,n,a,b,c

T(n)=5 T(n)=(1)

a=1b=1for (i=3 to n)

c=a+ba=bb=c

end forend ifreturn c

end procedure

• . 3. 4.

.

:

( (.) ) .

.

20 , 30, 1.1:

.

:

./ ./

LinearSearch (1) ? (n)

BinarySearch (1) ? (log n)

BubbleSort (n2) (n2) (n2)

InsertionSort (n) ? (n2)

SelectionSort (n2) (n2) (n2)

MergeSort (n logn) (n logn) (n logn)

QuickSort (n logn) (n logn) (n2)

• . 1. 1.

:

21 , 30, 1.1:

....

++

....

• . 1. 2. for for for for.

..:

22 , 30, 1.1:

..:

for (i=A to B)

:

for (i=A to B)... K ...

end for

=

=

B

AiKnT )(

=

+=B

Ai11

=

+=n

inni

12/)1(

=

++=n

innni

1

2 6/)12)(1(

=

+

=

n

i

ni

x

xx

0

1

11

.:,1 cccB

Ai

B

Ai = =

= == =

+=+n

i

n

i

n

iBABA

11 1)(

• . 1. 3. ,

.

..:

23 , 30, 1.1:

for (i= to )for (j=C to D)

... K ...

... K ...end for

end for

( )B D

i A j CT n K

= =

=

• . 2. (.) (.) ,

.

,

(.)

24 , 30, 1.1:

1.

2.

.

)()1()( 22 nnnnnn =+=+=

)(61

63

62

6)12)((

6)12)(1()( 323

2

nnnnnnnnnn

n =++=++=++=

• . 3. (.) .

:

25 , 30, 1.1:

0

1

1aa a

=

=

10.52

B

x x x= =( )

( ) ( )n n

m n n m nm

m m

a a a

a a

= =

=1

1 1/1/k k

a a

a a

a a

=

=

=

BBA Ax x=

( )

// ( / )

m m

m n m n

m n m n

m m m

a a

a a a

a a a

a b a b

+

=

=

=

=

• . 1

:

26 , 30, 1.1:

21

20 2

( ) (2 1)( ) 2 (2 1)( ) 5 ( 4 ) log

n n

n

f n n n nf nf n n n

= + +

= +

= + +0 23

224

65

0.016

7

62 448

( ) 5 ( 4 ) log

( ) (2 )( ) log ! 1000 14( ) 1000

4( ) 2( ) 4

n

n

n

n

n

n

f n n n

f n nf n n n nf n nf n

f n n n n

= + +

= +

= + + + +

= +

=

= + +

• . 2 :

27 , 30, 1.1:

for i=1 to nfor j=1 to n

a=a+1end forb=a+a*a

end forend for

• . 3 :

28 , 30, 1.1:

for i=1 to na=a/2for j=1 to n

a=a*10end forb=a+a*a/2b=a+a*a/2for j=i+1 to n

a=a+9end for

end for

• . 1

:

29 , 30, 1.1:

procedure minArray(A)

min=A[1]for i=2 to nfor i=2 to n

if (A[i]

• . 11.

1. 2.

2. 1.

30 , 30, 1.1:

1. 2.

• . 2

(InsertionSort). :

31 , 30, 1.1:

procedure InsertionSort(A)

for i=2 to nfor j=i-1 to 1

if (A[j]>A[j+1]) temp=A[j]A[j]=A[j+1]A[j+1]=temp

elsebreak

end ifend for

end for

end procedure

• . 21. .. [5 4 3 1 2]

.

2. ;3. ;4.

32 , 30, 1.1:

4. .

5. ;6. ;7.

.