Microsoft PowerPoint 알고리즘 개요(Part 1).pptx
|
|
- 부자 계
- 7 years ago
- Views:
Transcription
1 알고리즘 (Algorithm) 알고리즘개요 ( 효율, 분석, 차수 ) Part 년봄학기 강원대학교컴퓨터과학전공문양세
2 강의내용 프로그램과알고리즘순차검색과이진검색피보나찌수구하기알고리즘분석차수 (O,, ) Part 2 Page 2
3 프로그램의설계과정 설계분석예문제알고리즘만족? 프로그램 아니오 재설계 알고리즘은주어진문제를논리적으로해결하는과정이다. 분석을통해작성한알고리즘의정확성을파악할수있고, 효율성을정량적으로나타낼수있다. ( 일반적으로 ) 알고리즘은프로그래밍언어에독립적이다. Page 3
4 알고리즘과목의학습목표 Design( 설계 ): 다양한문제에대해, 알고리즘을설계하는기법을배운다. Analysis( 분석 ): 알고리즘을분석하여시간 / 공간복잡도를구하는방법을배운다. Computational Complexity( 계산복잡도 ): 문제를분석하여계산복잡도를구하는방법을배운다. Page 4
5 설계 ( 알고리즘 ) 가없다면 Page 5
6 알고리즘이란? 정의 : 문제에대한답 ( 해결책 ) 을찾기위해서계산하는절차이다. 좀더구체적인정의 알고리즘은단계별로주의깊게설계된계산과정이다. 알고리즘은입력을받아서출력으로전환시켜주는일련의계산절차이다. 음. 결국, 알고리즘이라는것은어떤절차를기술하는것이다. 또한번음 주어진입력이있을때, 원하는해답을출력하기위해서, 어떻게계산하면되는지그절차를기술하는것이다. Page 6
7 알고리즘의예 주어진문제 : 전화번호부에서 홍길동 의전화번호찾기 알고리즘 ( 해결책 ) 순차검색 (sequential search): 전화번호부의첫쪽부터홍길동이라는이름이나 올때까지순서대로찾는다. ( 수정된 ) 이진검색 (binary search): 전환번호부는 가나다 순으로되어있으므로먼저 ᄒ 이있을만한곳으로넘겨본후앞뒤로뒤적여가며찾는다. 분석 : 어떤알고리즘이더좋은가? Page 7
8 문제 (Problem) 의표기 / 표현방법 문제 : 해결책을찾고자던지는질문 매개변수 ( 파라미터, parameter): 문제에서어떤특정값이주어지지않은변수 (variable) 문제의사례 (instance) = 입력 (input): 문제에주어진파라미터에특정값을지정한것 ( 예 ) 사례에대한해답 (solution) = 출력 (output): 주어진사례에관한질문에대한답 Page 8
9 문제의표기예 문제 : n 개의수로된리스트 S 에 x 라는수가있는지알아내시오. 그결과, x 가 S 에있으면 예,, 없으면 아니오 로답하시오. 파라미터 : S, n, x 입력의예 1: S = [ ] [10,7,11,5,3,8], n = 6, x = 5 출력의예 1: 예 입력의예 2: S = [10,7,11], n = 3, x = 5 출력의예 2: 아니오 Page 9
10 알고리즘의표기 ( 기술 ) 자연어 : 한글또는영어 ( 부정확하고모호함 ) 프로그래밍언어 : C, C++, Java, Pascal 등 ( 특정언어에의존적이어서일반적인알고리즘기술에부적합 ) 의사코드 (Pseudo-code): d) 직접실행할수있는프로그래밍언어는아니지만, 실제프로그램에 거의가깝게계산과정을표현할수있는언어 알고리즘은보통의사코드로표현한다. 본강의에서는 C++( 혹은 C) 에가까운의사코드를사용한다. Page 10
11 프로그래밍언어 vs 알고리즘 / 자료구조 Page 11
12 C/C++ 와의사코드의차이점 (1/3) 배열인덱스의범위에제한없음 C/C++ 는반드시 0 부터시작 의사코드는임의의값사용가능 ( 예 : int x[5..10];) 프로시저의파라미터에 2 차원배열크기의가변성허용 예 : void pname(a[][]) { } C/C++ 에서는다음과같이제한이필요함 : void pname(a[][10]){ } 지역배열에변수인덱스허용 예 : keytype S[low..high]; C/C++ 에서는숫자인덱스만가능함 Page 12
13 C/C++ 과의사코드의차이점 (2/3) 수학표현식및간단한자연어허용 low <= x && x <= high low x high temp = x; x = y; y = temp; exchange x and y; C/C++ C 에없는타입사용가능 index: 첨자로사용되는정수변수 number: 정수 (int) 또는실수 (float) 모두사용가능 bool: true 나 false 값을가질수있는변수 이외에도잘알려진키워드 ( 예 : record, list) 는별도정의없이사용 Page 13
14 C/C++ 과의사코드의차이점 (3/3) 제어구조 repeat (n times) { } 프로시저와함수의구분 프로시저 : void pname( ) { } 함수 : returntype fname ( ) { return x;} 참조파라미터 (reference parameter) 를사용하여프로시저의결과 값전달방법 (call by reference 를설명하고있음 ) 배열 : ( 기본적으로 ) 참조파라미터로전달 나머지 : 데이터타입이름뒤에 & 를붙임 const 배열 : 전달되는배열의값이불변 Page 14
15 강의내용 프로그램과알고리즘순차검색과이진검색피보나찌수구하기알고리즘분석차수 (O,, ) Part 2 Page 15
16 순차검색 (Sequential Search) (1/3) 문제 : 크기가 n 인배열 S 에 x 가있는가? 입력 ( 파라미터 ): (1) 양수 n, (2) 배열 S[1..n], (3) 키 x 출력 : x 가 S 의어디에있는지의위치, 만약없으면 0 알고리즘 ( 자연어 ): x 와같은아이템을찾을때까지 S 에있는모든아이템을차례로검사한다. 만일 x 와같은아이템을찾으면 S 에서해당위치를출력하고, S 를모두검사하고도찾지못하면 0을출력한다. 자연어알고리즘은문제를풀기는하였으나, 프로그램으로전환하기에는용이하지않다. Page 16
17 순차검색 (Sequential Search) (2/3) 알고리즘 ( 의사코드 ) void seqsearch(int n, // 입력 (1) const keytype S[], // 입력 (2) keytype x, // 입력 (3) index& location) // 출력 { } location = 1; while (location <= n && S[location]!= x) location++; if (location > n) location = 0; while- 루프 : 아직검사할항목이있고, x 를찾지못하였나? if- 문 : 모두검사하였으나, x 를찾지못했나? Page 17 돌아가기
18 순차검색 (Sequential Search) (3/3) 순차검색알고리즘으로키를찾기위해서 S에있는항목을몇개나검색해야하는가? 키와같은항목의위치에따라다름 최악의경우 : n 평균의경우 : n/2 좀더빨리찾을수는없는가? 더이상빨리찾을수있는알고리즘은존재하지않는다. 배열 S에있는항목에대한정보가전혀없는상황에서, 모든항목을검색하지않고임의의항목 x를항상찾을수있다는보장이없기때문이다. 만약, 배열 S 가정렬되어있다는정보가존재한다면? 이진검색 Page 18
19 순차검색 -- C Program 실제 C 프로그램을봅시다. 알고리즘과는어떤차이가있는지확인합시다. Page 19
20 이진검색 (Binary Search) (1/3) 문제 : 크기가 n 인정렬된배열 S 에 x 가있는가? 입력 : (1) 양수 n, (2) 배열 S[1..n], (3) 키 x 출력 : x 가 S 의어디에있는지의위치, 만약없으면, 0 순차검색의문제와다른점은배열 S 가 정렬 되어있다는정보를알고있다는점이다. 순차검색의문제가보다일반적이므로, 순차검색을사용하여이문제를풀수있다. 그러나, 순차검색을사용하면 정렬 되어있다는정보를를사용하지못하는것이된다. Page 20
21 이진검색 (Binary Search) (2/3) 알고리즘 ( 의사코드 ) void binsearch(int n, // 입력 (1) const keytype S[], // 입력 (2) keytype x, // 입력 (3) index& location) o // 출력 { index low, high, mid; low = 1; high = n; location = 0; while (low <= high && location == 0) { mid = (low + high) / 2; // 정수나눗셈 if (x == S[mid]) location = mid; else if (x < S[mid]) high = mid 1; else low = mid + 1; } } while- 루프 : 아직검사할항목이있고, x 를찾지못하였나? Page 21
22 이진검색 (Binary Search) (3/3) 비교횟수를 ( 개략적으로 ) 분석해본다. 배열의크기가 32 라면 6 번의비교가필요하다. 이때, 6 = lg 이다. 배열의크기가 64라면 7번의비교가필요하다. 이때, 7 = lg 이다. 배열의크기가 2 k 라면 k+1번의비교가필요하다. 이때, k+1 = lg 2 k + 1이다. 이분검색알고리즘으로키를찾기위해서 S 에있는항목을몇개나검색해야하는가? while 문을수행할때마다검색대상의크기가절반으로감소하기때문에최악의경우라도 lg n + 1번만비교하면된다. 상기횟수분석에서 n = 2 k 라하면, 비교횟수는 lg n + 1 이된다. Page 22
23 순차검색 vs. 이진검색 배열의크기순차검색이진검색비고 n n lg n ,024 1, ,048,576 1,048, 두방법모두최악의경우에대한비교횟수임 4,294,967,296 4,294,967, Page 23
24 강의내용 프로그램과알고리즘순차검색과이진검색피보나찌수구하기알고리즘분석차수 (O,, ) Part 2 Page 24
25 피보나찌 (Fibonacci) 수열 피보나찌수열의정의 f 0 f f, for 2 n fn 1 fn 2 n 예 : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, Page 25
26 자연계의피보나찌수열 Page 26
27 피보나찌수구하기 재귀알고리즘 (1/4) 문제 : n 번째피보나찌수를구하라. 입력 : 양수 n 출력 : n 번째피보나찌수 재귀 (recursive) 알고리즘 : int fib(int n) { if (n <= 1) return n; else return (fib(n-1) + fib(n-2)); } Page 27
28 피보나찌수구하기 재귀알고리즘 (2/4) 분석 : 피보나찌수구하기재귀알고리즘은수행속도가매우느리다. 이유: 같은피보나찌수를중복하여계산한다. 예 : fib(5) 계산을위해서는 fib(2) 를세번이나중복계산한다. 함수 fib(5) 호출시의재귀트리 (recursive tree) 실제호출되는상황을봅시다! Page 28
29 피보나찌수구하기 재귀알고리즘 (3/4) fib(n) 함수호출횟수계산 T(n) ( ) = fib(n) ( ) 을계산하기위하여 fib() 함수를호출하는횟수 즉, T(n) 은재귀트리상의마디의개수 T (0) 1; T(1) 1; Tn ( ) Tn ( 1) Tn ( 2) 1 for n 2 2 Tn ( 2) since Tn ( 1) Tn ( 2) 2 2 Tn ( 4) Tn ( 6) T n/2 2 (0) 2 n/2 Page 29
30 피보나찌수구하기 재귀알고리즘 (4/4) 정리 : 재귀적알고리즘으로구성한재귀트리의마디의수를 T(n) 이라하면, n 2 인모든 n 에대하여 T(n) ( ) > 2 n/2 이다. 증명 : (n 에대한수학적귀납법으로증명 ) Induction base: T(2) = T(1) + T(0) + 1 = 3 > 2 = 2 2/2 T(3) = T(2) + T(1) + 1 = 5 > /2 Induction hypothesis: 2 m < n인모든m에대해서 T(m) > 2 m/2 이라가정 Induction step: T(n) > 2 n/2 임을보인다. T(n) = T(n -1) + T(n -2) + 1 > 2 (n -1)/2 + 2 (n -2)/2 + 1 [ 귀납가정에의하여 ] > 2 (n -2)/2 + 2 (n -2)/2 = 2 2 (n / 2)-1 = 2 n/2 Page 30
31 피보나찌수구하기 반복알고리즘 (1/2) 문제 : n 번째피보나찌수를구하라. 입력 : 양수 n 출력 : n 번째피보나찌수 반복 (iterative) 알고리즘 : int fib2 (int n) { index i; int f[0..n]; f[0] = 0; if (n > 0) { f[1] = 1; for (i = 2; i <= n; i++) f[i] = f[i-1] + f[i-2]; } return f[n]; } Page 31
32 피보나찌수구하기 반복알고리즘 (2/2) 분석 : 반복알고리즘은수행속도가훨씬더빠르다. 이유 : 재귀알고리즘과는달리중복계산이없다. 계산하는항 (f[i]) 의총개수 T(n) = n + 1 즉, f[0] 부터 f[n] 까지단한번씩만계산한다. Page 32
33 피보나찌수구하기 재귀 vs. 반복 (1/2) 노드하나 ( 혹은항하나 ) 계산에 1 ns 걸린다고가정하자. n n+1 2 n/2 반복 재귀 ( 하한 ) ,048,576 41ns 1048 s ns 1s ns 18min ns 13days ns 36years ns years ns years Page 33
34 피보나찌수구하기 재귀 vs. 반복 (2/2) 재귀알고리즘보다는반복알고리즘이항상효율적이다? 꼭그렇지만은않다. 특히, 설계단계에서재귀알고리즘은매우유용하다. 피보나찌수구하기의재귀알고리즘은 Ch. 2에서다루는분할정복 (Divide & Conquer) 의전형적인예이다. 피보나찌수구하기의반복알고리즘은 Ch. 3 에서다루는동적프로그래밍 (Dynamic Programming) 의간단한보기이다. Page 34
35 강의내용 프로그램과알고리즘순차검색과이진검색피보나찌수구하기알고리즘분석차수 (O,, ) Part 2 Page 35
36 알고리즘의분석 (analysis) 시간복잡도 (Time Complexity) 분석 입력크기에따라서단위연산이몇번수행되는지결정하는절차 표현척도 단위연산 (basic operation): 비교문 (comparison), 지정문 (assignment) 등 입력크기 (input size): 배열의크기, 리스트의길이, 행렬에서행과열의크기, 트리에서꼭지점과에지의수 Page 36
37 분석방법의종류 (1/2) 모든경우분석 (Every-case analysis) 복잡도는입력크기에만종속 (dependent) 적임 입력값과는무관 (independent) 하게복잡도는항상일정 예 : 평균을구하라. 최악의경우분석 (Worst-case analysis) 복잡도는입력크기와입력값모두에종속 단위연산이수행되는횟수가최대 ( 최악 ) 인경우선택 Page 37
38 분석방법의종류 (2/2) 평균의경우분석 (Average-case analysis) 입력크기와입력값모두에종속 모든입력에대해서단위연산이수행되는기대치 ( 평균 ) 각입력값에대해서확률할당이가능 확률에따라기대치가다르게계산될수있음 일반적으로최악의경우보다계산이복잡 최선의경우분석 (Best-case analysis) 입력크기와입력값모두에종속 단위연산이수행되는횟수가최소 ( 최선 ) 인경우선택 Page 38
39 배열덧셈알고리즘 문제 : 크기가 n 인배열 S 의모든수를더하라. 입력 : 양수 n, 배열 S[1..n] 출력 : 배열 S 에있는모든수의합 알고리즘 : number sum (int n, const number S[]) { index i; number result; } result = 0; for (i = 1; i <= n; i++) result = result + S[i]; return result; Page 39
40 배열덧셈알고리즘 : 시간복잡도분석 단위연산 : 덧셈 입력크기 : 배열의크기 n 모든경우분석 : 배열내용에상관없이 for- 루프가 n 번반복된다. 각루프마다덧셈이 1 회수행된다. 단위연산 : 지정문 (for-루프의첨자지정문포함 ) 입력크기 : 배열의크기 n 모든경우분석 : 배열내용에상관없이 for- 루프가 n번반복된다. 따라서, n에대해서덧셈이수행 따라서, 지정문이 되는총횟수는 T(n) = n 이다. T(n) = n + n + 1번수행된다. 기본동작을다르게함으로써, 시간복잡도가다르게나왔다. 그러나, 사실둘모두는같은복잡도카테고리에속한다. Page 40
41 버블정렬 (Bubble Sort) 알고리즘 문제 : 비내림차순으로 n 개의키를정렬 입력 : 양수 n, 배열 S[1..n] 출력 : 비내림차순으로정렬된배열 알고리즘 : void exchangesort (int n, keytype S[]) { index i, j; } for (i = 1; i <= n-1; i++) for (j = i+1; j <= n; j++) if (S[j] < S[i]) exchange S[i] and S[j]; for(j = 1;j <= (n-i); j++) if (S[j] > S[j+1]) exchange S[j] and S[j+1]; Page 41 exchange sort bubble sort
42 버블정렬알고리즘 : 시간복잡도분석 I 단위연산 : 조건문 (S[j] 와 S[i] 의비교 ) 입력크기 : 정렬할항목의수 n 모든경우분석 : j- 루프가수행될때마다조건문을 1 번씩수행 조건문의총수행횟수 i = 1 : j- 루프 n 1 번수행 i = 2 : j- 루프 n 2 번수행 i = 3 : j- 루프 n 3 번수행 i = n 1 : j- 루프 1 번수행 따라서 Tn ( ) ( n 1) ( n 2) 1 ( n 1) n 2 Page 42
43 버블정렬알고리즘 : 시간복잡도분석 II 단위연산 : 교환하는연산 (exchange S[j] and S[i]) 입력크기 : 정렬할항목의수 n 최악의경우분석 : 조건문의결과에따라서교환연산의수행여부가결정된다. 최악의경우 = 조건문이항상참 (true) 이되는경우 = 입력배열이거꾸로정렬되어있는경우 Tn ( ) ( n 1) n 2 Page 43
44 순차검색알고리즘 : 시간복잡도분석 (1/4) 단위연산 : 배열의아이템과키 x 와비교연산 (S[location]!= x) 입력크기 : 배열안에있는아이템의수 n 최악의경우분석 : x가배열의마지막아이템이거나, x가배열에없는경우, 단위연산이 n번수행된다. 따라서, W ( n ) n 순차검색알고리즘의경우입력배열의값에따라서검색하는횟수가달 라지므로, 모든경우 (every-case) 의시간복잡도분석은불가능하다. 순차검색알고리즘보기 Page 44
45 순차검색알고리즘 : 시간복잡도분석 (2/4) 단위연산 : 배열의아이템과키 x 와비교연산 (S[location]!= x) 입력크기 : 배열안에있는아이템의수 n 가정 : 배열의아이템이모두다르다. 평균의경우분석 ( 경우 1): x 가배열 S 안에있는경우만고려 1 k n 에대해서 x 가배열의 k 번째있을확률 = 1/n x 가배열의 k 번째있다면, x 를찾기위해서수행하는단위연산의횟수 = k 따라서, n n nn ( 1) n 1 An ( ) k k n n n 2 2 k 1 k 1 Page 45
46 순차검색알고리즘 : 시간복잡도분석 (3/4) 평균의경우분석 ( 경우 2): x 가배열 S 안에없는경우도고려 x 가배열 S 안에있을확률을 p 라고하면, x 가배열에있을확률 = p (x 가배열의 k 번째있을확률 = p/n) x 가배열에없을확률 = 1 p 따라서, 참고 : n p An ( ) k n (1 p ) k 1 n p nn ( 1) n 1 n(1 p) p n(1 p) n 2 2 p p n p 1 An ( ) ( n 1)/2 p 1/2 A( n) 3 n/4 1/4 Page 46
47 순차검색알고리즘 : 시간복잡도분석 (4/4) 단위연산 : 배열의아이템과키 x 와비교연산 (S[location]!= x) 입력크기 : 배열안에있는아이템의수 n 최선의경우분석: x 가 S[1] 일때, 입력의크기에상관없이단위연산이 1 번만수행된다. 따라서, B(n) = 1 Page 47
48 계산 ( 시간 ) 복잡도 : 어떤것을사용하지? 최악, 평균, 최선의경우분석방법중에서어떤분석이가장정확한가? ( 분석자체야모두정확해야한다.) 최악, 평균, 최선의경우분석방법중에서어떤분석을사용할것인가? ( 응용에따라다르나, 대개최악 / 평균을사용한다.) Page 48
49 정확도분석? 알고리즘이의도한대로수행되는지를증명하는절차 ( 즉, 알고리즘이정확하게수행되는지를증명하는절차 ) 정확한알고리즘이란? 어떠한입력에대해서도답을출력하면서멈추는알고리즘 정확하지않은알고리즘이란? 어떤입력에대해서멈추지않거나, 또는 틀린답을출력하면서멈추는알고리즘 정확도분석은프로그램증명 (Program Verification) 과마찬가지로 매우이론적인분야로서, Dijkstra 등에의해서연구되었다. Page 49
50 Who is Dijkstra? Page 50
51 Homework #1 Page 51
chap x: G입력
재귀알고리즘 (Recursive Algorithms) 재귀알고리즘의특징 문제자체가재귀적일경우적합 ( 예 : 피보나치수열 ) 이해하기가용이하나, 비효율적일수있음 재귀알고리즘을작성하는방법 재귀호출을종료하는경계조건을설정 각단계마다경계조건에접근하도록알고리즘의재귀호출 재귀알고리즘의두가지예 이진검색 순열 (Permutations) 1 장. 기본개념 (Page 19) 이진검색의재귀알고리즘
More information슬라이드 1
CHAP 2: 순환 (Recursion) 순환 (recursion) 이란? 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 정의자체가순환적으로 되어있는경우에적합한방법 순환 (recursion) 의예 팩토리얼값구하기 피보나치수열 1 n! n*( n 1)! fib( n) 0 1 fib( n 2) n n 0 ` 1 fib( n 1) if n 0 if
More information슬라이드 1
Data Structure Chapter 1. 자료구조와알고리즘 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 자료구조와알고리즘 일상생활에서의사물의조직화 해야할일리스트 조직도 일상생활에서의사물의조직화 사전 Ticket Box 3 일상생활과자료구조의비교 일상생활 vs 자료구조 자료구조 스택 큐 리스트 사전, 탐색구조
More information2002년 2학기 자료구조
자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)
More information슬라이드 1
Recursion SANGJI University KO Kwangman () 1. 개요 재귀 (recursion) 의정의, 순환 정의하고있는개념자체에대한정의내부에자기자신이포함되어있는경우를의미 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 정의자체가순환적으로되어있는경우에적합한방법 예제 ) 팩토리얼값구하기 피보나치수열 이항계수 하노이의탑 이진탐색
More information쉽게 배우는 알고리즘 강의노트
쉽게배우는알고리즘 장. 정렬 Sorting http://www.hanbit.co.kr 장. 정렬 Sorting 은유, 그것은정신적상호연관성의피륙을짜는방법이다. 은유는살아있다는것의바탕이다. - 그레고리베이트슨 - 2 - 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다. 비교정렬의한계를이해하고,
More information01장.자료구조와 알고리즘
---------------- DATA STRUCTURES USING C ---------------- CHAPTER 자료구조와알고리즘 1/30 자료구조 일상생활에서자료를정리하고조직화하는이유는? 사물을편리하고효율적으로사용하기위함 다양한자료를효율적인규칙에따라정리한예 2/30 컴퓨터에서의자료구조 자료구조 (Data Structure) 컴퓨터에서자료를정리하고조직화하는다양한구조
More informationMicrosoft PowerPoint Predicates and Quantifiers.ppt
이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)
More information슬라이드 1
CHAP 1: 자료구조와알고리즘 일상생활에서의사물의조직화 조직도 일상생활에서의사물의조직화 Ticket Box 일상생활과자료구조의비교 일상생활에서의예 물건을쌓아두는것 영화관매표소의줄 할일리스트 자료구조 스택 큐 리스트 a b c NULL C B A 영어사전사전, 탐색구조 Ticket Box 지도 조직도 그래프 트리 전단 (front) 후단 (rear) 자료구조와알고리즘
More information정보
정보 Sangwook Lee Deogi High School III 문제해결과프로그래밍 1 추상화 2 알고리즘 3 프로그래밍 2 알고리즘 2-1 알고리즘설계 2-2 알고리즘분석 3 2-1 알고리즘설계 (p.108) 학습목표 순차, 선택, 반복구조의흐름을설명할수있다. 다양한제어구조를활용하여논리적이고효율적인알고리즘을설계할수있다. 4 [1] 알고리즘제어구조 (p.109)
More information슬라이드 1
CHAP 1: 자료구조와알고리즘 C 로쉽게풀어쓴자료구조 생능출판사 2005 일상생활에서의사물의조직화 조직도 일상생활에서의사물의조직화 Ticket Box 일상생활과자료구조의비교 a b c N 일상생활에서의예 물건을쌓아두는것 영화관매표소의줄 할일리스트 자료구조 스택 큐 리스트 영어사전사전, 탐색구조 지도 조직도 그래프 트리 Ticket Box C B A 전단 (front)
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More informationPowerPoint 프레젠테이션
순환알고리즘 C 로쉽게풀어쓴자료구조 순환 (recursion) 수행이끝나기전에자기자신을다시호출하여문제해결 - 직접순환, 간접순환 문제정의가순환적으로되어있는경우에적합한방법 ( 예제 ) 팩토리얼 피보나치수열 n! 1 n * ( n 1)! n n 0 fib( n) 1 fib ( n 2) fib( n 1) 1 ` 2 if if n 0 n 1 otherwise 이항계수
More informationAlgorithms
자료구조 & 알고리즘 정렬과탐색알고리즘 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 기초적인정렬알고리즘 고급정렬알고리즘 탐색알고리즘 2 정 렬 (Sort) 정렬 (sort) 의개념 순서없이배열되어있는자료들을재배열하는것 정렬의대상 : 레코드 정렬의기준 : 정렬키 (sort key) 필드 정렬방법의분류
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More information02장.배열과 클래스
---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :
More information슬라이드 1
Data Structure & Algorithms SANGJI University KO Kwangman () 자료 (data) 1. 자료와정보 현실세계로부터의단순한관찰이나측정을통하여수집한사실이나개념의값들또는값들의집합. 정보 (information) 의사결정에도움을주기위해유용한형태로다시작성된 (= 가공 ) 자료. Data Structure & Algorithms
More informationPowerPoint Presentation
자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,
More informationPowerPoint 프레젠테이션
대표적인분할정복알고리즘 4 장. 재귀호출 학습목표 재귀호출이라는개념자체를명확히이해한다. 재귀호출함수의내부구조를이해한다. 재귀호출에내재하는효율성에대해이해한다. 1 Section 01 상징적의미 - 도미노 도미노 2 도미노 100 번째것이반드시쓰러진다는사실을증명하라. 수학적귀납법 (Mathematical Induction) 처음것 (K=1) 은반드시쓰러진다. K
More information<4D F736F F F696E74202D203728B0E8BBEABAB9C0E2B5B5B0B3B7D02DC1A4B7C4B9AEC1A6292E BC8A3C8AF20B8F0B5E55D>
계산복잡도 Computatioal Complexity 계산복잡도개론정렬문제 알고리즘의분석 어떤특정알고리즘의효율 (efficiecy 을측정 시간복잡도 (time complexity 공간복잡도 (space/memory complexity 문제의분석 일반적으로 계산복잡도분석 이란이를지칭 어떤문제에대해서그문제를풀수있는모든알고리즘의효율의하한 (lower-bou 을결정한다.
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More informationChap 6: Graphs
그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More information목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2
제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,
More information쉽게 풀어쓴 C 프로그래밍
제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using
More information중간고사
중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX
More informationMicrosoft PowerPoint - 26.pptx
이산수학 () 관계와그특성 (Relations and Its Properties) 2011년봄학기 강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계
More information윈도우즈프로그래밍(1)
제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More information슬라이드 1
CHAP 9: 정렬 정렬이란? 정렬은물건을크기순으로오름차순이나내림차순으로나열하는것 정렬은컴퓨터공학분야에서가장기본적이고중요한알고리즘중의하나 정렬은자료탐색에있어서필수 ( 예 ) 만약사전에서단어들이정렬이안되어있다면? 정렬의단위 레코드 정렬의대상 학생들의레코드 이름학번주소연락처 레코드 필드필드필드필드 키 (key) 정렬알고리즘의개요 많은정렬알고리즘존재 단순하지만비효율적인방법
More informationMicrosoft PowerPoint - chap-11.pptx
쉽게풀어쓴 C 언어 Express 제 11 장포인터 컴퓨터프로그래밍기초 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 컴퓨터프로그래밍기초 2 포인터란? 포인터 (pointer): 주소를가지고있는변수 컴퓨터프로그래밍기초 3 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다.
More information제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.
제 11 장포인터 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습합니다.
More information학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2
학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등
More informationHW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.
오늘할것 5 6 HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. Review: 5-2 7 7 17 5 4 3 4 OR 0 2 1 2 ~20 ~40 ~60 ~80 ~100 M 언어 e ::= const constant
More information-09- 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다. 비교정렬의한계를이해하고, 선형시간정렬이가능한조건과선형시간정렬알고리즘을이해한다. - - 한빛미디어 Sortng Algorth
-09- 쉽게배우는알고리즘 장. 정렬 Sortng http://academy.hanb.co.kr 장. 정렬 Sortng 은유, 그것은정신적상호연관성의피륙을짜는방법이다. 은유는살아있다는것의바탕이다. - 그레고리베이트슨 - 2 - 한빛미디어 1 -09- 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다.
More informationWISHBONE System-on-Chip Interconnection Architecture for Portable IP Cores
프로젝트정리 1주차 : 미로를텍스트파일로만들어출력하는프로그램작성. 2주차 : 텍스트형태의미로를 MC의그래픽기능을이용하여그리는프로그램작성. 3주차 : 미로에서길찾는프로그램작성. Dept. of CS, Sogang Univ. 1 DS를이용한미로길찾기문제 DS를이용한미로길찾기문제는 2주차까지설계한미로의출발점과도착점을연결하는가장짧은경로를탐색해출력하는문제이다. NxM
More informationuntitled
int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More information제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.
제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 이중포인터란무엇인가? 포인터배열 함수포인터 다차원배열과포인터 void 포인터 포인터는다양한용도로유용하게활용될수있습니다. 2 이중포인터
More informationChap 6: Graphs
5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV
More informationPowerPoint 프레젠테이션
Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2
More informationMicrosoft PowerPoint - chap11-포인터의활용.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 포인터를 사용하는 다양한 방법에
More informationC 언어 프로그래밊 과제 풀이
과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍
More informationMicrosoft PowerPoint - chap10-함수의활용.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과
More informationJava ...
컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.
More informationMicrosoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt
변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short
More informationData Structure
Function & Pointer C- 언어의활용을위한주요기법 (3) Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 함수의인자전달 함수의인자전달 함수의인자전달방식 인자전달의기본방식은복사다. 함수호출시전달되는값을매개변수를통해서전달받는데, 이때에값의복사가일어난다. int main(void) int val = 10;
More informationchap01_time_complexity.key
1 : (resource),,, 2 (time complexity),,, (worst-case analysis) (average-case analysis) 3 (Asymptotic) n growth rate Θ-, Ο- ( ) 4 : n data, n/2. int sample( int data[], int n ) { int k = n/2 ; return data[k]
More information쉽게배우는알고리즘 8장. 동적프로그래밍 프로그래밍 Dynamic Programming (DP)
쉽게배우는알고리즘 8장. 동적프로그래밍 프로그래밍 Dynamic Programming (DP) http://academy.hanb.co.kr IT COOKBOOK 8장. 동적프로그래밍 Dynamic Programming (DP) 계시란바깥어딘가에서우리한테갑자기주어지는객관적지식이아니다. 만물의근원에대한본질적인귀속감, 우리가거기에아주밀접하게닿아있다는관계성을스스로가발견해내는것이계시다.
More informationPowerPoint 프레젠테이션
Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐
More informationMicrosoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600
균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at
More informationInfinity(∞) Strategy
반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()
More informationMicrosoft PowerPoint - 27.pptx
이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)
More information목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2
제 7 장. 배열 목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2 배열의개요 배열 (array) 의정의 같은데이터형을가지는여러개의변수를하나의배열명으로공유 기억공간을순차적으로할당받아사용하는것 [ 7.1] C 3 배열의개요 배열 (array) 의필요성 같은데이터형의여러개의변수간결하게선언 기억공간을순차적으로변수의값들을저장, 관리
More information비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2
비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,
More informationChapter 4. LISTS
6. 동치관계 (Equivalence Relations) 동치관계 reflexive, symmetric, transitive 성질을만족 "equal to"(=) 관계는동치관계임. x = x x = y 이면 y = x x = y 이고 y = z 이면 x = z 동치관계를이용하여집합 S 를 동치클래스 로분할 동일한클래스내의원소 x, y 에대해서는 x y 관계성립
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationadfasdfasfdasfasfadf
C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.
More informationMicrosoft PowerPoint - 제11장 포인터(강의)
쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조
More informationMicrosoft PowerPoint Relations.pptx
이산수학 () 관계와그특성 (Relations and Its Properties) 2010년봄학기강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계
More information학습목차 2.1 다차원배열이란 차원배열의주소와값의참조
- Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]
More informationA Hierarchical Approach to Interactive Motion Editing for Human-like Figures
단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct
More informationData structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은
Data structure: Assignment 1 Seung-Hoon Na October 1, 018 1 1.1 Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은 multiline으로 구성될 수 있으며, 한 라인에는 임의의 갯수의 숫자가 순서대로 나열될
More informationSlide 1
SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 5. 배열 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 배열의소개 배열의선언과참조 For 루프와배열 메모리상의배열 함수에서의배열 함수인자로써의배열과리턴값 배열프로그램
More information<4D F736F F F696E74202D2031C1D6C2F72D31C2F7BDC32028B0ADC0C7C0DAB7E D20C7C1B7CEB1D7B7A1B9D6BEF0BEEE20B0FAB8F1BCD2B
2015-1 프로그래밍언어 프로그래밍언어강의소개 2015. 3. 1. 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 프로그래밍언어강의개요 목적 C 프로그래밍언어를기반으로한공학문제의해결방법습득, C++
More informationMicrosoft PowerPoint - 04알고리즘
이산수학 Discrete Mathematics 알고리즘 (Algorithm) 인천대학교컴퓨터공학과공학시인이숙이철호교수 Jullio@chol.com zullio@inu.ac.kr 010 3957 6683 모바일컴퓨팅연구실 07 401 호 상어가바다의절대제왕이된이유 출처 : 조영탁의행복한경영이야기 상어는물고기중유일하게부레가없다. 부레없는물고기는물속에서생존이불가능하다.
More informationMicrosoft PowerPoint - 제11장 포인터
쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조
More informationJAVA PROGRAMMING 실습 02. 표준 입출력
# 메소드의구조자주반복하여사용하는내용에대해특정이름으로정의한묶음 반환형메소드이름 ( 매개변수 ) { 실행문장 1; : 실행문장 N; } 메소드의종류 Call By Name : 메서드의이름에의해호출되는메서드로특정매개변수없이실행 Call By Value : 메서드를이름으로호출할때특정매개변수를전달하여그값을기초로실행하는메서드 Call By Reference : 메서드호출시매개변수로사용되는값이특정위치를참조하는
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More information슬라이드 1
Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치
More informationMicrosoft PowerPoint 세션.ppt
웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session)
More informationCh.8 Procedures and Environments
Chapter 9 정렬 (sorting) SANGJI University Kwangman KO (kkman@sangji.ac.kr) 정렬 (sorting) 이란? 정의 물건을크기순으로오름차순이나내림차순으로나열하는것 컴퓨터공학분야에서가장기본적이고중요한알고리즘중의하나 정렬은자료탐색에있어서필수적. ( 예 ) 만약사전에서단어들이정렬이안되어있다면? 정렬알고리즘의개요
More informationMicrosoft PowerPoint - 알고리즘_5주차_1차시.pptx
Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More informationChapter 4. LISTS
C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or
More information문제여섯사람이일곱개의발판위에있다. 빈발판을중심으로세사람은왼쪽에서가운데를보고서있고, 다른세사람은오른쪽에서가운데를보고서있다. Figure: 양창모 ( 청주교육대학교컴퓨터교육과 ) Problems and Algorithms 2015 년여름 1 / 35 목표왼쪽에서있던세사람을오른쪽으로, 오른쪽에서있던사람을왼쪽으로이동한다. 가운데발판은여전히비어있어야한다. 최소의움직임으로목표를달성하도록한다.
More informationMicrosoft PowerPoint - 05알고리즘.pptx
이산수학 Discrete Mathematics 알고리즘 (Algorithm) 인천대학교컴퓨터공학과공학시인이숙이철호교수 Jullio@chol.com zullio@inu.ac.kr 010 3957 6683 모바일컴퓨팅연구실 07 401 호 꿈의중독자가되라 출처 : 조영탁의행복한경영이야기나는여러분이 꿈중독자 가되었으면합니다. 꿈이크고꿈이선명하면남이하지말라고해도스스로열심히노력하게될것입니다.
More informationMicrosoft PowerPoint - Java7.pptx
HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)
More information1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문
1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문 1. 표준입출력 표준입출력 입력 : 키보드, scanf 함수 출력 : 모니터, printf 함수문제 : 정수값 2개를입력받고두값사이의값들을더하여출력하라. #include int main(void) int Num1, Num2; int
More information04 Çмú_±â¼ú±â»ç
42 s p x f p (x) f (x) VOL. 46 NO. 12 2013. 12 43 p j (x) r j n c f max f min v max, j j c j (x) j f (x) v j (x) f (x) v(x) f d (x) f (x) f (x) v(x) v(x) r f 44 r f X(x) Y (x) (x, y) (x, y) f (x, y) VOL.
More informationFrama-C/JESSIS 사용법 소개
Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie
More information제 3강 역함수의 미분과 로피탈의 정리
제 3 강역함수의미분과로피탈의정리 역함수의미분 : 두실수 a b 와폐구갂 [ ab, ] 에서 -이고연속인함수 f 가 ( a, b) 미분가능하다고가정하자. 만일 f '( ) 0 이면역함수 f 은실수 f( ) 에서미분가능하고 ( f )'( f ( )) 이다. f '( ) 에서 증명 : 폐구갂 [ ab, ] 에서 -이고연속인함수 f 는증가함수이거나감소함수이다 (
More informationSequences with Low Correlation
레일리페이딩채널에서의 DPC 부호의성능분석 * 김준성, * 신민호, * 송홍엽 00 년 7 월 1 일 * 연세대학교전기전자공학과부호및정보이론연구실 발표순서 서론 복호화방법 R-BP 알고리즘 UMP-BP 알고리즘 Normalied-BP 알고리즘 무상관레일리페이딩채널에서의표준화인수 모의실험결과및고찰 결론 Codig ad Iformatio Theory ab /15
More informationMicrosoft PowerPoint - 04알고리즘
이산수학 Discrete Mathematics 알고리즘 (Algorithm) 인천대학교컴퓨터공학과공학시인이숙이철호교수 Jullio@chol.com zullio@inu.ac.kr 010 3957 6683 모바일컴퓨팅연구실 07 401 호 상어가바다의절대제왕이된이유 출처 : 조영탁의행복한경영이야기 상어는물고기중유일하게부레가없다. 부레없는물고기는물속에서생존이불가능하다.
More information원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를
리스트에대한설명중틀린것은 구조체도리스트의요소가될수있다 리스트의요소간에는순서가있다 리스트는여러가지방법으로구현될수있다 리스트는집합과동일하다 다음은순차적표현과연결된표현을비교한것이다 설명이틀린것은 연결된표현은포인터를가지고있어상대적으로크기가작아진다 연결된표현은삽입이용이하다 순차적표현은연결된표현보다액세스시간이많이걸린다 연결된표현으로작성된리스트를 개로분리하기가쉽다 다음은연결리스트에서있을수있는여러가지경우를설명했는데잘못된항목은
More informationEA0015: 컴파일러
5 Context-Free Grammar 무엇을공부하나? 앞에서배운 " 정규식 " 은언어의 " 어휘 (lexeme)" 를표현하는도구로사용되었다. 언어의 " 구문 (syntax)" 은 " 정규언어 " 의범위를벗어나기때문에 " 정규식 " 으로표현이불가능하다. 본장에서배우는 " 문맥자유문법 " 은언어의 " 구문 (syntax)" 을표현할수있는도구이다. 어떤 " 문맥자유문법
More informationPowerPoint 프레젠테이션
Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State
More information0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4
Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More information14장.탐색
---------------- DATA STRUCTURES USING C ---------------- CHAPTER 탐색 1/28 탐색 (search) 이란? 여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열,
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationUI TASK & KEY EVENT
2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize
More informationMicrosoft PowerPoint - additional01.ppt [호환 모드]
1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능
More informationMicrosoft PowerPoint - [2009] 02.pptx
원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include
More informationLet G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ
알고리즘설계와분석 (CSE3081(2 반 )) 기말고사 (2016년 12월15일 ( 목 ) 오전 9시40분 ~) 담당교수 : 서강대학교컴퓨터공학과임인성 < 주의 > 답안지에답을쓴후제출할것. 만약공간이부족하면답안지의뒷면을이용하고, 반드시답을쓰는칸에어느쪽의뒷면에답을기술하였는지명시할것. 연습지는수거하지않음. function MakeSet(x) { x.parent
More informationThe C++ Programming Language 5 장포인터, 배열, 구조체 5.9 연습문제 다음의선언문을순서대로작성해보자. 문자에대한포인터, 10개정수의배열, 10개정수의배열의참조자, 문자열의배열에대한포인터, 문자에대한포인터에대한포인터, 상수정수, 상수
The C++ Programming Language 5 장포인터, 배열, 구조체 5.9 연습문제 5.9.1 다음의선언문을순서대로작성해보자. 문자에대한포인터, 10개정수의배열, 10개정수의배열의참조자, 문자열의배열에대한포인터, 문자에대한포인터에대한포인터, 상수정수, 상수정수에대한포인터, 정수에대한상수포인터. 그리고각각의객체를초기화하자. Ex 문자에대한포인터 char
More information문서의 제목 나눔명조R, 40pt
이문서는나눔글꼴로작성되었습니다. 설치하기 11차시 : 함수동적메모리할당다차원배열 프로그래밍및실험 제 11주 동국대학교조영석 6.6 함수인자로써의배열 - 함수정의에서배열로선언된형식매개변수는 pointer임. - 함수의인자로배열이전달되면배열의기본주소가 ( 배열의내용이아님 ) call-by-value로전달됨. - 배열원소는복사되지않음. 2 ( 예 ) #include
More information