Professional Documents
Culture Documents
Chapter 01 자료구조와 알고리즘의 이해
Chapter 01 자료구조와 알고리즘의 이해
Chapter 01.
Introduction To Data Structures Using C
Chapter 01.
Chapter 01-1:
#ifndef ~ #endif .
, !
,
!
int main(void)
{
//
sum += arr[idx];
. . . .
}
Chapter 01.
Chapter 01-2:
X ! Y ?
& 1
(time complexity)
(space complexity)
T(n) .
& 2
//
int LSearch(int ar[], int len, int target)
{
int i;
}
return -1;
}
//
(best case) .
(worst case) .
(Average Case)
. .
. .
n ,
( ) n .
T(n) = n
T(n)
50%
n
2 n/2
1 n 1 3
T ( n) n n
2 2 2 4
!
1 2 ? . ?
1
:
1. 0 8.
2. 0 8 2 .
3. 2 4 arr[4] 3 !
3
!
, .
2
:
1. arr[4] 9 3 .
2. arr[4]>3 0~3 !
3. 0 3 2 . .
4. 2 1 arr[1] 3 .
3
:
1. arr[1] 2 3 .
1
first last
!
first last
!
while(first <= last)
// first <= last !
{
//
}
2
int BSearch(int ar[], int len, int target)
{
int first = 0;
//
int last = len-1;
//
int mid;
1
while(first <= last)
{
mid = (first+last) / 2;
if(target == ar[mid])
{
return mid;
}
else
//
{
....
}
}
?
== !
==
.
n , ?
2
n
n 1
n/2 1
n/4 1
n/8 1
. . . . . n
! . . . . .
1 1
3
8 1 2 3, 3
1 , 1
n 1 2 k, k
1 , 1
1 !
T(n)=k+1
k !
n 1 ?
k .
T(n)= k+1
T (n) log 2 n 1
+1
T (n) log 2 n
n T(n)
+1 !
+1 +200 ?
- !
- (Big-Oh Notation)
T (n) n 2 2n 1
T(n)
-(Big-Oh) .
T (n) n 2 2n
n T(n)
+1 .
T (n) n
T(n) -
O( n 2 )
-
2n !
n 2n+1 .
-
-?
T(n) , - .
- !
-
-
vs.
BSWorstOpCount.c
- 1
-
f(n) g(n) , nK f(n)Cg(n)
C K , f(n) - O(g(n)).
-
2
5n 2 100 - O(n ) .
5n 2 100
!
n 2
- 2
-
n
f(n) Cg(n) C K ,
Chapter 01 !