Professional Documents
Culture Documents
www.kiriakougr.weebly.com
(data)
(information)
( )
.
3.2 | + =
(nodes)
1. (access)
2. (insertion)
3. (deletion)
4. (searching)
5. (sorting)
6. (copying)
7. (merging)
8. (separation)
.
,
, ,
.
3.2 | + =
,
3
.
1976 Wirth (
Pascal)
3
3.2 | + =
1
3
4
6
7
8
0
1
3
1
4
1
3.2 | + =
3
:
:
: 1992
::
2461022555
::
24
: 1992
::
2461022666
::
42
: 1992
::
2461022777
::
52
: 1992
: 2461022888
: 34
3
3.2 | + =
,
(dynamic
memory allocation)
(indexes)
3.3 |
,
.
.
9.1 |
,
.
9
.
9.1 |
: [20]
: [20]
9
9.1 |
:
17 [1]
19 [2]
, 30
21 [3]
9
i-
20 [4]
[i]
19 [5]
15 [6]
10 [7]
: [30],
9 [8]
8 [9]
1 30
[]
_
_
9.1 | , 30, ,
:
.
<- 0
1 30 ,
<- +
9
.
_
<- /30
.. .
,
,
. 30
, -1, 2,...,
30.
,
.
,
.
1
9.1 |
:
: [30], ,
: i,
9
<- 0
i 1 30
[i]
<- + [i]
_
<- /30
<- 0
i 1 30
[i] <
<- +1
_
_
:,
,
_
9.1 | :
,
.
.
;
.
9.2 | :
( ) .
9
.
9.2 |
3.
[500]
11
.
3.3 |
_3
// //
3
500
0
i 1
+ [i]
_
/
_11 0
__ 0
i 1
([i] < 11)
_11 _11 + 1
_
([i] < / 2)
__ __ + 1
_
_
_11, __
_3
4.
.
3.3 |
_4
3
// , //
_ 0
_ 0
_0 0
i 1
[i] > 0
_ _ + 1
_ [i] < 0
_ _ + 1
_0 _0 + 1
_
_
" :", _
" :", _
_4
3.3 |
1.
table 100 .
.
3.3 |
_
3
// table //
Min table[1]
i 2 100
table[i] < Min Min table[i]
_
//Min//
_
5.
.
3.3 |
3
_
// , //
[1]
1
i 2 N
> [i]
A[i]
i
_
_
" ", , "
",
_
3.3 |
(searching)
.
3.6 |
.
.
3
.
(sequential) (linear) .
.
3.6 |
,
.
:
.
( n <= 20).
.
.
_
i 1 10
[i]
_
3.6 |
<-
i <- 1
( = ) (i10)
3
[i] =
<-
i <- i + 1
_
_
=
_
_
.
.
3.6 |
_
i 1 10
3
[i]
_
k <- 0
i 1 10
[i] =
k <- k + 1
_
_
k 0
,k,
_
_
,
.
:
.
( n <= 20).
.
3.6 |
- - , .
.
3
:
.
, <
. (
1 ).
( 2 ).
.
> .
:
.
, <
. (
3.6 |
1 ).
( 2 ).
3
.
> .
.
1.
.
_1
: [20], KEY, _, _, _, i
i 1 20
[i]
3.6 |
_
' .'
KEY
_ <- 1
3
_ <- 20
_ <- (_ + _) div 2
_ <= _ [_] <> KEY
KEY < [_]
_ <- _ - 1
_ <- _ + 1
_
_ <- (_ + _) div 2
_
[_] = KEY
' ', _
' '
_
_ _1
2
.
_2
: [20], KEY, _, _, _, i
i 1 20
[i]
3.6 |
_
' .'
KEY
_ <- 1
3
_ <- 20
_ <- (_ + _) div 2
_ <= _ [_] <> KEY
KEY < [_]
_ <- _ + 1
_ <- _ - 1
_
_ <- (_ + _) div 2
_
[_] = KEY
' ', _
' '
_
_ _2
. [69]
4.9.1. 1.
, 100 .
:
i. .
ii. 1 100 .
iii. 100 1 .
iv. .
v. .
vi.
.
vii. 10 .
viii.
ix. 50
50 ,
" ".
x. " ",
.
xi. .
xii. 42 .
xiii. .
xiv. .
3.3 |
(sorting) (ordering).
(ascending sequence)
.
.
3.7 |
,
, , ,
.
3
a1, a2, ..., an
(permutation) ,
ak1, ak2, ..., akn ,
(ordering function), f, : f(ak1)
f(ak2) ... f(akn)
,
(descending sequence) .
(straight exchange sort)
,
.
:
3.7 |
.
(bubbles)
,
.
(bubblesort).
-
.
1 2 3 4 1
23 1 23 15 15 15 15
15 2 15 2 23 8 8 8
8 8 3 8 3 23 10 10
10 10 10 4 10 4 23 0
0 0 0 0 5 0 23
1 1 2 3 2
15 1 15 8 8 8
8 2 8 2 15 10 10
10 10 3 10 3 15 0
0 0 0 4 0 15
23 23 23 23 23
2 1 2 3
8 1 8 8 8
10 2 10 2 0 0
0 0 3 10 10
15 8 8 15
23 23 23 23
3 1 4
8 1 8 0
0 2 0 8
10 10 10
15 15 15
23 23 23
__
// , //
3.7 |
1 - 1
3
1 - 1
[] > [ + 1]
[], [ + 1]
_
_
_
__
___2
3.7 |
// , //
3
1 - 1
1 -
[] > [ + 1]
[], [ + 1]
_
_
_
___2
1 2 3 4 1
23 23 23 23 1 23 0
15 15 15 2 15 2 0 23
0 0 3 0 3 0 15 15
10 4 10 4 8 8 8 8
8 5 8 10 10 10 10
1 1 2 3 2
0 0 0 0 0
23 23 23 2 23 8
15 15 3 15 3 8 23
8 4 8 4 8 15 15
10 5 10 10 10 10
2 1 2 3
0 0 0 0
8 8 8 8
23 23 3 23 10
15 4 15 4 10 23
10 5 10 15 15
3 1 4
0 0 0
8 8 8
10 10 10
23 4 23 15
15 5 15 23
23 23 23 23 1 23 0
15 15 15 2 15 2 0 23
0 0 3 0 3 0 15 15
10 4 10 4 8 8 8 8
8 5 8 10 10 10 10
0 0 0 0
23 23 2 23 8
15 3 15 3 8 23
4 8 4 8 15 15
5 10 10 10 10
0 0 0
8 8 8
23 3 23 10
4 15 4 10 : 23
5 10 15 15
5
0
4 . 0
8 1 4 8
10 2 3 10
4 23 3 2 15
5 15 4 1 23
__
// , //
3.7 |
1 - 1
3
2 _ -1
[ - 1] > []
[ - 1], []
_
_
_
__
___2
3.7 |
// , //
1 - 1
3
+ 1 _ -1
[ - 1] > []
[ - 1], []
_
_
_
___2
2
3.7 |
_ -1
[-1]>[]
3
[-1], []
_
_
_
(bubbles)
,
.
(bubblesort).
3.7 |
3
https://www.youtube.com/watch?v=ly
ZQPjUT5B4
https://www.youtube.com/watch?v=Mt
crEhrt_K0
, :
52, 12, 71, 56, 5, 10, 19, 90 45.
.
,
. (i).
3.7 |
3
// table, n //
i 2 n
j n i _ -1
table[j-1] > table[j]
table[j-1], table[j]
3.7 |
!
_ ,
_ ,
_ : table[j-1] < table[j]
3
// table //
SOS
" table[j-1],
table[j]"
.
:
temp table[j-1]
table[j-1] table[j]
table[j] temp
4.6.1.1. (Bubblesort)
.
.
3.7 |
3
3
3.7 |
.
.
"
" (quicksort).
3.7 |
.
3
Quick-sort-
with Hungarian folk
dance
https://Selection Sort ( ).
.
( , . 3.7)
:
_ -
-
.
, ,
_
= 10 .
3.7 |
: i, j, , table[], , temp
.
:
3
i 1
table[i]
_
i 1 - 1
<- i
j i + 1
table[j] < table[] !
<- j
_
_
temp <- table[i]
table[i] <- table[]
table[] <- temp
_
i 1
table[i]
_
_ ( , . 3.7)
. [69]
4.9.1. 1.
, 100 .
:
i. .
ii. 1 100 .
iii. 100 1 .
iv. .
v. .
vi.
.
vii. 10 .
viii.
ix. 50
50 ,
" ".
x. " ",
.
xi. .
xii. 42 .
xiii. .
xiv. .
9.1 | , ,
, 2 100.
.
,
.
,
, ,
.
: i, j, , [100], , _2,
9.1 |
: , _,
!
" ( 100)"
i 1
" ", i, "- "
[i]
9
_
!
<- 0
_2 <- 0
i 1
<- + [i]
_2 <- _2 + [i]^2
_
!
<- /
!
_ <- _(_2/ - ^2)
!
i 2
j i _ -1
9.1 |
[j - 1] > [j]
! j j-1
<- [j - 1]
[j - 1] <- [j]
[j] <-
_
_ ! j
9
_ ! i
!
mod 2 = 0
<- ([ div 2] + [( div 2) + 1])/2
<- [( + 1) div 2]
_
!
""
"============"
" =",
" = ",
" = ", _
" = ",
_
9.1 | :
,
.
.
;
.
9.2 | :
( ) .
9
.
9.4 |
3/ . 87
,
9.4 |
.
.
100 .
.
, , ,
, +
.
i, j k
9.4 | , . :
.
.
.
! 1 2
9
_ = 10
_ = 5
: [_], [_], [_ + _], I, J, , ,
,
!
!
!
" (<100)
=", _
I 1
[I]
_
" (<100)
=", _
I 1
[I]
_
! 2 2
!
9.4 | I <- 1 ! I
J <- 1 ! J
<- 1 !
I <= J <=
!
[I] < [J]
[] <- [I]
<- + 1
I <- I + 1
9
[] <- [J]
<- + 1
J <- J + 1
_
_
!
I >
+
[] <- [J]
J <- J + 1
_
+
[] <- [I]
I <- I + 1
_
_
!
" "
1 +
[]
_
_
3
3.3 |
:
2 2
3.3 |
26 26 24 30 25
, 4 8
3
24 24 2
23 28
2
24
2 7
[4,7] 2 3
27 28 24 32 28
5 1
22 24
1
20 25
2
22
9 5
, ,
(square)
n x n.
2.
,
.
table m n .
, .
.
_
3.3 |
// m, n, table //
sum 0
3
i 1 m
row[i] 0
_
j 1 n
col[j] 0
_
i 1 m
j 1 n
sum sum + table[i,j]
row[i] row[i] + table[i,j]
col[j] col[j] + table[i,j]
_
_
// row, col, sum //
_
5x5.
,
row ,
col
. sum -
.
3.3 |
3
,
(stack) (queue),
,
.
3
( 30 10 ).
, ,
9.3 |
.
_2
_2
= 3
= 2
= 3
: [, ], [],
= 2
9
: i, j,
!
i 1
: [, ],
j 1
[],
" ", i, " ", j, " :"
[i, j]
: i, j,
_
_
!
j 1
!
<- 0
ii
1
1
<- j]
+ [i,
j 1
_
[j] <- /
" ", i, "
_
j 1
",
j,<- "
0 :"
i 1
[i,
[i, j] < [j] j]
<- + 1
_
_
_
_
" ", j, " :", [j]
!
"
_
:",
_
_
, ,
,
9.3 |
[4, 30, 3]
9
!!!