Algorithms

Size: px
Start display at page:

Download "Algorithms"

Transcription

1 자료구조 & 알고리즘 정렬과탐색알고리즘 Seo, Doo-okok

2 목 차 기초적인정렬알고리즘 고급정렬알고리즘 탐색알고리즘 2

3 정 렬 (Sort) 정렬 (sort) 의개념 순서없이배열되어있는자료들을재배열하는것 정렬의대상 : 레코드 정렬의기준 : 정렬키 (sort key) 필드 정렬방법의분류 실행방법에따른분류 : 비교식정렬, 분산식정렬 정렬장소에따른분류 내부정렬 : 컴퓨터메모리내부에서정렬 정렬속도는빠르지만자료의양이메인메모리의용량에따라제한된다. 교환방식, 삽입방식, 병합방식, 분배방식, 선택방식 외부정렬 : 메모리의외부인보조기억장치에서정렬 내부정렬로처리할수없는대용량의자료를정렬 병합방식 : 2-way 병합, n-way 병합 3

4 기초적인정렬알고리즘 기초적인정렬알고리즘 선택정렬 버블정렬 삽입정렬 쉘정렬 고급정렬알고리즘 탐색알고리즘 4

5 선택정렬 선택정렬 1. 먼저정렬되지않은리스트에서가장작은원소의위치를탐색 2. 정렬되지않은리스트의시작위치에있는원소와교환 3. 각각의비교및교환후에, 리스트의경계를한개의원소만큼이동 i j n 5

6 선택정렬 (cont d) 초기배열 선택정렬동작과정 원소교환 #1 이후 원소교환 #2 이후 원소교환 #3 이후 원소교환 #4 이후 수행시간 : (n-1) + (n-2) = O (n 2 ) Worst case Average case 6

7 선택정렬알고리즘 선택정렬 (cont d) Selection_Sort(A[], n) // 배열 A[1,..., n] 을정렬 for i 1 to n smallest i; for j i+1to n A[i] A[smallest]; if (A[j] < A[smallest]) then smallest j; 수행시간 : (n 1) + n = O (n 2 ) 의 for 루프는 n-1번반복 2 에서가장큰수를찾기위한비교횟수 : 1, 2,..., n 의교환은상수시간작업 7

8 선택정렬알고리즘분석 메모리사용공간 선택정렬 (cont d) n 개의원소에대하여 n 개의메모리사용 비교횟수 1 단계 : 첫번째원소를기준으로 n 개의원소비교 2 단계 : 두번째원소를기준으로마지막원소까지 n - 1 개의원소비교 3 단계 : 세번째원소를기준으로마지막원소까지 n - 2 개의원소비교 i 단계 : i 번째원소를기준으로 n - i 개의원소비교 어떤경우에서나비교횟수가같으므로시간복잡도는 O (n 2 ) 8

9 버블정렬 버블정렬 1. 가장작은원소가정렬되지않은리스트로부터버블되어정렬된서브리스트로이동 2. 각각의비교및교환후에, 리스트의경계를한개의원소만큼이동 i j n 9

10 버블정렬 (cont d) 버블정렬동작과정 초기배열 단계완료이후 수행시간 : (n-1) + n = O (n 2 ) Worst case Average case 10

11 버블정렬알고리즘 버블정렬 (cont d) Bubble_Sort (A[], n) // A[1... n] 을정렬 for i 1 downto n-1 for j n downto i-1 if (A[j] < A[j-1]) then A[j] A[j-1]; 수행시간 : (n - 1) + (n - 2) = O(n 2 ) 1 의 for 루프는 n-1 번반복 2 에서가장큰수를찾기위한비교횟수 : n - 1, n - 2,, 2, 1 3 의교환은상수시간작업 11

12 버블정렬 (cont d) 버블정렬알고리즘 (cont d) Bubble_Sort (A[], n) //A[1,...,n] 을정렬 변형된버블정렬알고리즘 for i 1 downto n - 1 state TRUE; for j n downto i 1 if (A[j] < A[j-1]) then A[j] A[j-1]; state FALSE; if (state = TRUE) then return; 12

13 버블정렬 (cont d) 버블정렬알고리즘의분석 메모리사용공간 n 개의원소에대하여 n 개의메모리사용 연산시간 최선의경우 : 자료가이미정렬되어있는경우 비교횟수 : i 번째원소를 (n - i) 번비교하므로, n(n - 1)/2 번 자리교환횟수 : 자리교환이발생하지않는다. 최악의경우 : 자료가역순으로정렬되어있는경우 비교횟수 : i 번째원소를 (n - i) 번비교하므로, n(n - 1)/2 번 자리교환횟수 : i 번째원소를 (n - i) 번교환하므로, n(n - 1)/2 번 평균시간복잡도는 O(n 2 ) 이된다. 13

14 삽입정렬 삽입정렬의개념 1. 각단계에서, 정렬되지않은리스트의첫번째원소를선택 2. 선택된원소를소가정렬된리스트의적절한위치로삽입 i j n 14

15 삽입정렬 (cont d) 삽입정렬동작과정 초기배열 temp 데이터 30 이동 temp 데이터 10 삽입 temp 데이터 30 이동 temp 데이터 20 삽입 temp 데이터 40 삽입 temp 데이터 50 삽입 temp 수행시간 : O (n 2 ) Worst case : (n-2) + (n-1) Average case : ½ ( (n-2) + (n-1)) 15

16 삽입정렬알고리즘 Insertion_Sort (A[], n) for i 2 to n j i-1; temp A[i]; 삽입정렬 (cont d) //A[1,...,n] 을정렬 1 while (j 1 and temp < A[j]) A[j + 1] A[j]; j--; A[j + 1] temp; 배열이거의정렬되어있는상태로입력되는경우에가장매력적인알고리즘 수행시간 : 1 의 for 루프는 n-1 번반복 2 의삽입은최악의경우 i - 1 회비교 Worst case : (n - 2) + (n - 1) = O(n 2 ) 2 Average case : ½ ( (n - 2) + (n - 1)) = O(n 2 ) 16

17 삽입정렬 (cont d) 삽입정렬알고리즘의분석 메모리사용공간 n 개의원소에대하여 n 개의메모리사용 연산시간 최선의경우 : 원소들이이미정렬되어있을때비교횟수가최소 이미정렬되어있는경우에는바로앞자리원소와한번만비교 전체비교횟수 = n - 1 시간복잡도 : O(n) 최악의경우 : 모든원소가역순으로되어있을경우비교횟수가최대 전체비교횟수 = (n - 1) = n(n - 1)/2 시간복잡도 : O(n 2 ) 삽입정렬의평균비교횟수 = n(n - 1) / 4 평균시간복잡도 : O(n 2 ) 17

18 쉘정렬 쉘정렬의개념 일정한간격 (interval) 으로떨어져있는데이터들끼리부분집합을구성하고, 각부분집합에있는원소들에대해서삽입정렬을수행 전체원소에대해서삽입정렬을수행하는것보다부분집합으로나누어정렬 --> 비교와교환연산감소 쉘정렬에서는 7- 정렬, 4- 정렬등의용어를주로사용 4- 정렬의예

19 쉘정렬알고리즘 쉘정렬 (cont d) Shell_Sort (A[], n) // A[1,..., n] 을정렬 interval n; while (interval 1) do interval interval / 2; for (i 0; i < interval; i i + 1) do // interval 간격만큼의원소들끼리쉘정렬수행 Interval_Sort(A[], i, n, interval); end Shell_Sort() Sort() 19

20 쉘정렬알고리즘의분석 메모리사용공간 쉘정렬 (cont d) n 개의원소에대하여 n 개의메모리와매개변수 h 에대한저장공간사용 연산시간 비교횟수 : 처음원소의상태에상관없이매개변수 h 에의해결정 일반적인시간복잡도 : O(n 1.25 ) 쉘정렬은삽입정렬의시간복잡도 O(n 2 ) 보다개선된정렬방법 20

21 고급정렬알고리즘 기초적인정렬알고리즘 고급정렬알고리즘 퀵정렬 병합정렬 탐색알고리즘 21

22 퀵정렬 (quick sort) 의개념 퀵정렬 정렬할전체원소에대해서정렬을수행하지않고, 기준값을 중심으로왼쪽부분집합과오른쪽부분집합으로분할하여정렬 기준값 : 피봇 (pivot) 왼쪽부분집합 : 기준값보다작은원소들을이동 오른쪽부분집합 : 기준값보다큰원소들을이동 퀵정렬은다음의두가지기본작업을반복수행 분할 (divide) : 정렬할자료들을기준값을중심으로두개의부분집합으로분할 정복 (conquer) 부분집합의원소들중에서기준값보다작은원소들은왼쪽부분집합으로, 기준값보다 큰원소들은오른쪽부분집합으로정렬 부분집합의크기가 1 이하로충분히작지않으면순환호출을이용하여다시분할 22

23 퀵정렬의동작과정 퀵정렬 (cont d) first last 기준값설정 first mid last 부분집합으로분할 first mid last 각각독립적으로정렬 평균수행시간 : O(nlogn) 최악의경우수행시간 : O(n2) 23

24 퀵정렬알고리즘 Quick_Sort(A[], first, last) if (first < last) then 퀵정렬 (cont d) mid = Partition(A, first, last); Quick_Sort(A, first, mid-1); Quick_Sort(A, mid+1, last); Partition(A[], first, last) // A[first,..., last] 을정렬 // 분할, 분할후기준값의위치값을반환 // 왼쪽부분배열정렬 // 오른쪽부분배열정렬 배열 A[first,..., last] 의원소들을 A[last] 을기준으로양쪽으로재배치하고, 기준값 (A[last]) 이자리한위치를반환한다 ; 24

25 퀵정렬알고리즘 (cont d) 분할알고리즘 퀵정렬 (cont d) Partition(A[], first, last) pivot A[last]; // 마지막원소를기준값으로선택 i first - 1; for j first to last -1 if (A[j] pivot) then A[++i] A[j]; A[i+1] A[last]; // 기준값을가운데로위치시킨다. return i+1; // 기준값의위치값을반환 25

26 퀵정렬알고리즘분석 메모리사용공간 퀵정렬 (cont d) n 개의원소에대하여 n 개의메모리사용 연산시간 최선의경우 기준값에의해서원소들이왼쪽부분집합과오른쪽부분집합으로정확히n / 2 개씩이등이되는경우가반복되어수행단계수가최소가되는경우 최악의경우 기준값에의해원소들을분할하였을때 1 개와 n - 1 개로한쪽으로치우쳐분할되는경우가반복되어수행단계수가최대가되는경우 평균시간복잡도 : O(n log 2 n) ) 같은시간복잡도를가지는다른정렬방법에비해서자리교환횟수를줄임으로써더빨리실행되어실행시간성능이좋은정렬방법 26

27 병합정렬 병합정렬 (merge sort) 의개념 여러개의정렬된자료의집합을병합하여한개의정렬된집합으로만드는방법 병합정렬방법의종류 2-way 병합 : 2 개의정렬된자료의집합을결합하여하나의집합으로만드는방법 n-way 병합 : n 개의정렬된자료의집합을결합하여하나의집합으로만드는방법 // 2-way 병합정렬 : 세가지기본작업을반복수행 ⑴ 분할 (divide) : 입력자료를같은크기의부분집합 2개로분할한다. ⑵ 정복 (conquer) : 부분집합의원소들을정렬한다. 부분집합의크기가충분히작지않으면순환호출을이용하여다시분할정복기법을적용한다. ⑶ 결합 (combine) : 정렬된부분집합들을하나의집합으로통합한다. 27

28 병합정렬의동작과정 병합정렬 (cont d) 부분집합으로분할 first mid last 각부분집합을 독립적으로정렬 정렬된두부분집합을병합

29 병합정렬알고리즘 Merge_Sort(A[],first,last) if (first < last) then 병합정렬 (cont d) mid (first+last)/2 ; mergesort(a, first, mid); mergesort(a, mid+1, last); merge(a, first, mid, last); // A[first,..., last] 을정렬 // first 와 last 사이의중간원소의위치 // 왼쪽부분집합정렬 // 오른쪽부분집합정렬 // 정렬된두부분집합병합 Merge(A[ ], first, mid, last) 정렬되어있는두부분집합 A[first,..., mid] 와 A[mid+1,...,r] 을병합하여정렬된하나의배열 A[first... last] 을만든다. 29

30 병합정렬 (cont d) 병합정렬알고리즘 : 병합알고리즘 merge(a[],first,mid,last) // A[first... mid] 와 A[mid+1... last] 를병합하여 A[first... last] 을정렬된상태로재구성 // 단, A[first... mid] 와 A[mid+1... last] 는이미정렬부분집합이다. i first; j mid+1; t 1; while (i mid and j last) if (A[i] A[j]) then temp[t++] A[i++]; else temp[t++] A[j++]; while (i mid) temp[t++] A[i++]; while (j last) temp[t++] A[j++]; // 정렬된상태로재구성된 temp 배열을원본배열 A 에복사 i p; t 1; while (i last) A[i++] temp[t++]; 30

31 병합정렬알고리즘분석 메모리사용공간 병합정렬 (cont d) 각단계에서새로병합하여만든부분집합을저장할공간이추가로필요 원소 n 개에대해서 (2 * n) 개의메모리공간사용 연산시간 분할단계 : n 개의원소를분할하기위해서 log 2 n 번의단계수행 병합단계 : 부분집합의원소를비교하면서병합하는단계에서최대 n 번의 비교연산수행 전체병합정렬의시간복잡도 : O(n log 2 n) 31

32 탐 색 기초적인정렬알고리즘 고급정렬알고리즘 탐색알고리즘 순차탐색 이진탐색 32

33 탐 색 (search) 탐색 (search) 의개념 레코드의집합에서주어진키를지닌레코드를찾는작업탐색 주어진키값 : 목표키 (Target Key), 또는탐색키 (Search Key) 탐색의분류 수행되는위치에따른분류 : 내부탐색, 외부탐색 검색방법에따른분류 비교탐색 : 검색대상의키를비교하여탐색 ( 예 : 순차탐색, 이진탐색, 트리탐색 ) 계산탐색 : 계수적인성질을이용한계산으로탐색 ( 예 : 해싱 ) 33

34 순차탐색 순차탐색의개념 순차탐색알고리즘 목표치를찾기위해리스트의처음부터탐색을시작해서목표치를찾거나리스트에목표치가없다는것이밝혀질때까지탐색을계속한다. 순차탐색은순서가없는리스트일때사용 순차탐색은리스트가작거나, 가끔한번씩탐색할경우에만사용 Sequential_Search(A[ ], n, key) i 0; while (i < n) if (A[i]=key)then return i; i i + 1; return -1; 34

35 순차탐색의동작과정 순차탐색 (cont d) 0 순서없는리스트에위치한데이터 index a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] != 73 index a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] != 73 index a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] index a[0] a[1] 48!= 73 a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] == 73 35

36 순차탐색 (cont d) 순차탐색의동작과정 (cont d) 순서없는리스트에탐색실패 0 index a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] != 90 index a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] != 90 index a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] index a[0] a[1] a[2] a[3] 11!= 90 a[4] a[5] a[6] a[7] a[8] a[9]

37 이진탐색알고리즘 이진탐색 이진탐색은배열이정렬되어있을때효율적인알고리즘 순차탐색은매우느리다. 이진탐색알고리즘의조건 탐색할데이터들은정렬된상태이다. 주어진데이터들은유일한키값을가지고있다. Binary_Search(A[ ], first, last, key) mid (first + last)/2; // 검색범위의중간위치값계산 if (key = A[mid]) return mid; else ese if (key < A[mid]) then binarysearch(a[], ayseac first, s, mid-1, key); else if (key > A[mid]) then binarysearch(a[], mid+1, last, key); return -1; 37

38 이진탐색 (cont d) 이진탐색의동작과정검색데이터 : 21 first mid last a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] > 14 first 5 mid 7 last 9 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] < 36 first 5 mid 5 last 6 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] == 21 38

39 이진탐색 (cont d) 이진탐색의동작과정 : 탐색실패검색데이터 : 11 first 0 mid 4 last 9 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] < 14 first mid last a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] > 7 first 2 mid 2 last 3 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] > 8 first mid last a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] > 10 first mid last

40 참고문헌 [1] 이지영, C 로배우는쉬운자료구조, 한빛미디어, [2] 주우석, CᆞC++ 로배우는자료구조론, 한빛미디어, [3] 천인국, C C 언어로쉽게풀어쓴자료구조, 생능출판사, [4] 이재규, C 로배우는알고리즘 : 개념과기본알고리즘, 도서출판세화, [5] 문병로, 쉽게배우는알고리즘 : 관계중심의사고법, 한빛미디어, [6] 카사이아사오, 진명조역, C 언어로배우는알고리즘입문, 한빛미디어, [7] Kyle Loudon, 허욱역, Algorithms with C : C 로구현한알고리즘, 한빛미디어, 2006 [8] Wikipedia, 이강의자료는저작권법에따라보호받는저작물이므로무단전제와무단복제를금지하며, 내용의전부또는일부를이용하려면반드시저작권자의서면동의를받아야합니다. Copyright Clickseo.com. All rights reserved. 40

쉽게 배우는 알고리즘 강의노트

쉽게 배우는 알고리즘 강의노트 쉽게배우는알고리즘 장. 정렬 Sorting http://www.hanbit.co.kr 장. 정렬 Sorting 은유, 그것은정신적상호연관성의피륙을짜는방법이다. 은유는살아있다는것의바탕이다. - 그레고리베이트슨 - 2 - 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다. 비교정렬의한계를이해하고,

More information

슬라이드 1

슬라이드 1 CHAP 9: 정렬 정렬이란? 정렬은물건을크기순으로오름차순이나내림차순으로나열하는것 정렬은컴퓨터공학분야에서가장기본적이고중요한알고리즘중의하나 정렬은자료탐색에있어서필수 ( 예 ) 만약사전에서단어들이정렬이안되어있다면? 정렬의단위 레코드 정렬의대상 학생들의레코드 이름학번주소연락처 레코드 필드필드필드필드 키 (key) 정렬알고리즘의개요 많은정렬알고리즘존재 단순하지만비효율적인방법

More information

Microsoft PowerPoint - ch11_정렬 [호환 모드]

Microsoft PowerPoint - ch11_정렬 [호환 모드] 정렬 자바로배우는쉬운자료구조 이장에서다룰내용 1 정렬 6 셸정렬 2 선택정렬 7 병합정렬 3 버블정렬 8 기수정렬 4 퀵정렬 9 힙정렬 5 삽입정렬 10 트리정렬 2 정렬 (1) 정렬 (sort) 2 개이상의자료를작은것부터큰순서 ( 오름차순, ascending) 로정렬또는큰것부터작은것순서 ( 내림차순, descending) 로재배열하는것 키 : 자료를정렬하는데사용하는기준값

More information

Algorithms

Algorithms 자료구조 & 알고리즘 리스트 (List) Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 선형리스트 연결리스트 2 선형리스트 선형리스트 선형리스트의개념 선형리스트의구현 연결리스트 3 선형리스트개념 리스트 (List) 목록, 대부분의목록은도표 (Table) 형태로표시 추상자료형리스트는이러한목록또는도표를추상화한것

More information

-09- 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다. 비교정렬의한계를이해하고, 선형시간정렬이가능한조건과선형시간정렬알고리즘을이해한다. - - 한빛미디어 Sortng Algorth

-09- 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다. 비교정렬의한계를이해하고, 선형시간정렬이가능한조건과선형시간정렬알고리즘을이해한다. - - 한빛미디어 Sortng Algorth -09- 쉽게배우는알고리즘 장. 정렬 Sortng http://academy.hanb.co.kr 장. 정렬 Sortng 은유, 그것은정신적상호연관성의피륙을짜는방법이다. 은유는살아있다는것의바탕이다. - 그레고리베이트슨 - 2 - 한빛미디어 1 -09- 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다.

More information

Microsoft PowerPoint - 5장 정렬

Microsoft PowerPoint - 5장 정렬 01. 버블 02. 삽입 03. 퀵 04. C 표준 라이브러리의 퀵 정렬 정렬 정렬 정렬 함수 정렬은물건을크기순으로오름차순이나내림차순으로나열하는것 정렬은컴퓨터공학분야에서가장기본적이고중요한알고리즘중의하나 정렬은자료탐색에있어서필수적이다. ( 예 ) 만약사전에서단어들이정렬이안되어있다면? 정렬은왜하는가? 학생들의레코드 이름학번주소연락처 레코드 필드 필드 필드 필드

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

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

Ch.8 Procedures and Environments

Ch.8 Procedures and Environments Chapter 9 정렬 (sorting) SANGJI University Kwangman KO (kkman@sangji.ac.kr) 정렬 (sorting) 이란? 정의 물건을크기순으로오름차순이나내림차순으로나열하는것 컴퓨터공학분야에서가장기본적이고중요한알고리즘중의하나 정렬은자료탐색에있어서필수적. ( 예 ) 만약사전에서단어들이정렬이안되어있다면? 정렬알고리즘의개요

More information

정렬 강의자료

정렬 강의자료 CHAP 9 : 정렬 정렬이란? 정렬은물건을크기순으로오름차순이나내림차순으로나열하는것 정렬은컴퓨터공학을포함한모든과학기술분야에서가장기본적이고중요한알고리즘중하나 정렬은자료탐색에있어서필수적 ( 예 ) 만약영어사전에서단어들이알파벳순으로정렬되어있지않다면? 정렬의대상 일반적으로정렬시켜야될대상은레코드 (record) 레코드는다시필드 (field) 라는보다작은단위로구성 학생들의레코드

More information

2002년 2학기 자료구조

2002년 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

슬라이드 1 CHAP 7: 트리 C 로쉽게풀어쓴자료구조 생능출판사 2005 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 트리는부모 - 자식관계의노드들로이루어진다. 대표이사 응용분야 : 계층적인조직표현 총무부 영업부 생산부 파일시스템 인공지능에서의결정트리 전산팀구매팀경리팀생산 1 팀생산 2 팀 트리의용어 노드 (node): 트리의구성요소 루트 (root): 부모가없는노드

More information

06_sorting

06_sorting 정렬 Data Structures and Algorithms 목차 버블정렬 선택정렬 삽입정렬 힙정렬 병합정렬 퀵정렬 기수정렬 Data Structures and Algorithms 2 버블정렬 Data Structures and Algorithms 3 버블정렬 Data Structures and Algorithms 4 버블정렬 Data Structures and

More information

6장정렬알고리즘.key

6장정렬알고리즘.key 6 : :. (Internal sort) (External sort) (main memory). :,,.. 6.1 (Bubbble Sort).,,. 1 (pass). 1 pass, 1. (, ), 90 (, ). 2 40-50 50-90, 50 10. 50 90. 40 50 10 비교 40 50 10 비교 40 50 10 40 10 50 40 10 50 90

More information

PowerPoint Presentation

PowerPoint 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 information

Microsoft PowerPoint - 6장 탐색.pptx

Microsoft PowerPoint - 6장 탐색.pptx 01. 순차탐색 02. 이진탐색 03. 이진탐색트리 04. 레드블랙트리 탐색 (search) 기본적으로여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요. 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열, 연결리스트, 트리, 그래프등 탐색키데이터 순차탐색 (sequential

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft 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

14장.탐색

14장.탐색 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 탐색 1/28 탐색 (search) 이란? 여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열,

More information

Algorithms

Algorithms 자료구조 & 알고리즘 스택과큐 (Stack and Queue) Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 스택의개념및구현 큐의개념및구현 2 스택 스택의개념및구현 스택의구현 스택의응용 큐의개념및구현 3 스택 (Stack) 스택의구조 후입선출 (LIFO, Last-In-First-Out) 삽입 PUSH

More information

Chapter 4. LISTS

Chapter 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 information

슬라이드 1

슬라이드 1 Data Structure Chapter 1. 자료구조와알고리즘 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 자료구조와알고리즘 일상생활에서의사물의조직화 해야할일리스트 조직도 일상생활에서의사물의조직화 사전 Ticket Box 3 일상생활과자료구조의비교 일상생활 vs 자료구조 자료구조 스택 큐 리스트 사전, 탐색구조

More information

chap01_time_complexity.key

chap01_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

Microsoft PowerPoint 알고리즘 개요(Part 1).pptx

Microsoft PowerPoint 알고리즘 개요(Part 1).pptx 알고리즘 (Algorithm) 알고리즘개요 ( 효율, 분석, 차수 ) Part 1 2011년봄학기 강원대학교컴퓨터과학전공문양세 강의내용 프로그램과알고리즘순차검색과이진검색피보나찌수구하기알고리즘분석차수 (O,, ) Part 2 Page 2 프로그램의설계과정 설계분석예문제알고리즘만족? 프로그램 아니오 재설계 알고리즘은주어진문제를논리적으로해결하는과정이다. 분석을통해작성한알고리즘의정확성을파악할수있고,

More information

C O N T E N T S 목 차 요약 / 1 I. 중남미화장품시장현황 / 3 Ⅱ. 주요국별시장정보 / 9 ( 트렌드 유통망 인증 ) 1. 브라질 / 9 2. 멕시코 / 콜롬비아 / 칠레 / 64 Ⅲ. 우리기업진출전략 / 79 # 첨부. 화장품관

C O N T E N T S 목 차 요약 / 1 I. 중남미화장품시장현황 / 3 Ⅱ. 주요국별시장정보 / 9 ( 트렌드 유통망 인증 ) 1. 브라질 / 9 2. 멕시코 / 콜롬비아 / 칠레 / 64 Ⅲ. 우리기업진출전략 / 79 # 첨부. 화장품관 Global Market Report 17-023 Global Market Report 중남미주요국화장품시장동향과우리기업진출전략 C O N T E N T S 목 차 요약 / 1 I. 중남미화장품시장현황 / 3 Ⅱ. 주요국별시장정보 / 9 ( 트렌드 유통망 인증 ) 1. 브라질 / 9 2. 멕시코 / 29 3. 콜롬비아 / 46 4. 칠레 / 64 Ⅲ. 우리기업진출전략

More information

슬라이드 1

슬라이드 1 CHAP 1: 자료구조와알고리즘 C 로쉽게풀어쓴자료구조 생능출판사 2005 일상생활에서의사물의조직화 조직도 일상생활에서의사물의조직화 Ticket Box 일상생활과자료구조의비교 a b c N 일상생활에서의예 물건을쌓아두는것 영화관매표소의줄 할일리스트 자료구조 스택 큐 리스트 영어사전사전, 탐색구조 지도 조직도 그래프 트리 Ticket Box C B A 전단 (front)

More information

Chapter 4. LISTS

Chapter 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

정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2

정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2 13. 탐색트리 AVL 트리, B- 트리, 2-3-4 트리 정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2 이진탐색트리의예 3 BST 의최선과최악의경우

More information

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table 쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table http://academy.hanb.co.kr 6장. 해시테이블 테이블 Hash Table 사실을많이아는것보다는이론적틀이중요하고, 기억력보다는생각하는법이더중요하다. - 제임스왓슨 - 2 - 학습목표 해시테이블의발생동기를이해한다. 해시테이블의원리를이해한다. 해시함수설계원리를이해한다. 충돌해결방법들과이들의장단점을이해한다.

More information

chap 5: Trees

chap 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

01장.자료구조와 알고리즘

01장.자료구조와 알고리즘 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 자료구조와알고리즘 1/30 자료구조 일상생활에서자료를정리하고조직화하는이유는? 사물을편리하고효율적으로사용하기위함 다양한자료를효율적인규칙에따라정리한예 2/30 컴퓨터에서의자료구조 자료구조 (Data Structure) 컴퓨터에서자료를정리하고조직화하는다양한구조

More information

Microsoft PowerPoint - 05알고리즘.pptx

Microsoft PowerPoint - 05알고리즘.pptx 이산수학 Discrete Mathematics 알고리즘 (Algorithm) 인천대학교컴퓨터공학과공학시인이숙이철호교수 Jullio@chol.com zullio@inu.ac.kr 010 3957 6683 모바일컴퓨팅연구실 07 401 호 꿈의중독자가되라 출처 : 조영탁의행복한경영이야기나는여러분이 꿈중독자 가되었으면합니다. 꿈이크고꿈이선명하면남이하지말라고해도스스로열심히노력하게될것입니다.

More information

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 제 11 장포인터 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습합니다.

More information

Microsoft PowerPoint - chap-11.pptx

Microsoft PowerPoint - chap-11.pptx 쉽게풀어쓴 C 언어 Express 제 11 장포인터 컴퓨터프로그래밍기초 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 컴퓨터프로그래밍기초 2 포인터란? 포인터 (pointer): 주소를가지고있는변수 컴퓨터프로그래밍기초 3 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 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 information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 순환알고리즘 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 information

chap x: G입력

chap x: G입력 재귀알고리즘 (Recursive Algorithms) 재귀알고리즘의특징 문제자체가재귀적일경우적합 ( 예 : 피보나치수열 ) 이해하기가용이하나, 비효율적일수있음 재귀알고리즘을작성하는방법 재귀호출을종료하는경계조건을설정 각단계마다경계조건에접근하도록알고리즘의재귀호출 재귀알고리즘의두가지예 이진검색 순열 (Permutations) 1 장. 기본개념 (Page 19) 이진검색의재귀알고리즘

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

문제여섯사람이일곱개의발판위에있다. 빈발판을중심으로세사람은왼쪽에서가운데를보고서있고, 다른세사람은오른쪽에서가운데를보고서있다. Figure: 양창모 ( 청주교육대학교컴퓨터교육과 ) Problems and Algorithms 2015 년여름 1 / 35 목표왼쪽에서있던세사람을오른쪽으로, 오른쪽에서있던사람을왼쪽으로이동한다. 가운데발판은여전히비어있어야한다. 최소의움직임으로목표를달성하도록한다.

More information

슬라이드 1

슬라이드 1 CHAP 1: 자료구조와알고리즘 일상생활에서의사물의조직화 조직도 일상생활에서의사물의조직화 Ticket Box 일상생활과자료구조의비교 일상생활에서의예 물건을쌓아두는것 영화관매표소의줄 할일리스트 자료구조 스택 큐 리스트 a b c NULL C B A 영어사전사전, 탐색구조 Ticket Box 지도 조직도 그래프 트리 전단 (front) 후단 (rear) 자료구조와알고리즘

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 정렬알고리즘 9 장. 정렬알고리즘 가장많이, 그리고가장잘알려진알고리즘방법과효율빅오기호로분석 학습목표 정렬알고리즘의분류방법을이해한다. 정렬알고리즘별로작동원리에대해이해한다. 정렬알고리즘별로효율분석방법을이해한다. 정렬알고리즘에따라효율을개선하기위한방법을이해한다. 1 Section 01 정렬의분류 - 정렬의분류정렬 정렬의대상 = 레코드정렬의기준 = 정렬키 (Sort

More information

슬라이드 1

슬라이드 1 CHP 6: 큐 C 로쉽게풀어쓴자료구조 생능출판사 2005 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 큐 DT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

More information

Microsoft PowerPoint - ch06 - 배열, 동적배열, 정렬 pm0200

Microsoft PowerPoint - ch06 - 배열, 동적배열, 정렬 pm0200 동적배열 배열을위한메모리할당방법 지역변수로자동할당 int score[100]; score[10] = 123; 지역변수로배열을생성하는경우, 크기에제한이있음 동적배열 동적메모리할당 int *score; score = (int *) malloc(100*sizeof(int)); score[10] = 123; 동적메모리할당으로배열을생성하는경우, 더큰배열을사용할수있음

More information

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - 제11장 포인터 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

1장. 리스트

1장. 리스트 01. 순차탐색 02. 이진탐색 03. 이진탐색트리 04. 레드블랙트리 탐색 (search) 기본적으로여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요. 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열, 연결리스트, 트리, 그래프등 탐색키데이터 순차탐색 (sequential

More information

Microsoft PowerPoint - 04알고리즘

Microsoft PowerPoint - 04알고리즘 이산수학 Discrete Mathematics 알고리즘 (Algorithm) 인천대학교컴퓨터공학과공학시인이숙이철호교수 Jullio@chol.com zullio@inu.ac.kr 010 3957 6683 모바일컴퓨팅연구실 07 401 호 상어가바다의절대제왕이된이유 출처 : 조영탁의행복한경영이야기 상어는물고기중유일하게부레가없다. 부레없는물고기는물속에서생존이불가능하다.

More information

슬라이드 1

슬라이드 1 Data Structure & Algorithms SANGJI University KO Kwangman () 자료 (data) 1. 자료와정보 현실세계로부터의단순한관찰이나측정을통하여수집한사실이나개념의값들또는값들의집합. 정보 (information) 의사결정에도움을주기위해유용한형태로다시작성된 (= 가공 ) 자료. Data Structure & Algorithms

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

<4D F736F F F696E74202D203728B0E8BBEABAB9C0E2B5B5B0B3B7D02DC1A4B7C4B9AEC1A6292E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203728B0E8BBEABAB9C0E2B5B5B0B3B7D02DC1A4B7C4B9AEC1A6292E BC8A3C8AF20B8F0B5E55D> 계산복잡도 Computatioal Complexity 계산복잡도개론정렬문제 알고리즘의분석 어떤특정알고리즘의효율 (efficiecy 을측정 시간복잡도 (time complexity 공간복잡도 (space/memory complexity 문제의분석 일반적으로 계산복잡도분석 이란이를지칭 어떤문제에대해서그문제를풀수있는모든알고리즘의효율의하한 (lower-bou 을결정한다.

More information

02장.배열과 클래스

02장.배열과 클래스 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

저작자표시 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이저작물을영리목적으로이용할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우, 이저작물에적용된이용허락조건을명확하게나타내어야합니다.

More information

Microsoft PowerPoint - 04알고리즘

Microsoft PowerPoint - 04알고리즘 이산수학 Discrete Mathematics 알고리즘 (Algorithm) 인천대학교컴퓨터공학과공학시인이숙이철호교수 Jullio@chol.com zullio@inu.ac.kr 010 3957 6683 모바일컴퓨팅연구실 07 401 호 상어가바다의절대제왕이된이유 출처 : 조영탁의행복한경영이야기 상어는물고기중유일하게부레가없다. 부레없는물고기는물속에서생존이불가능하다.

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular

More information

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에대하여 AB=BA 1 가성립한다 2 3 (4) 이면 1 곱셈공식및변형공식성립 ± ± ( 복호동순 ), 2 지수법칙성립 (은자연수 ) < 거짓인명제 >

More information

함께공주를구할용사고르기! 램왕자가칼솜씨가뛰어나다면힘세고용감한전사보다는치료마법을가진사제나, 많은정보를가지고있는동료가함께가는것이좋다. 램왕자가용에대한정보는가지고있으나싸움을잘하지못한다면, 강력한마법사또는파괴력이있는힘센전사와함께가는것이좋다. 램왕자는자신의능력을정확히파악한후자신

함께공주를구할용사고르기! 램왕자가칼솜씨가뛰어나다면힘세고용감한전사보다는치료마법을가진사제나, 많은정보를가지고있는동료가함께가는것이좋다. 램왕자가용에대한정보는가지고있으나싸움을잘하지못한다면, 강력한마법사또는파괴력이있는힘센전사와함께가는것이좋다. 램왕자는자신의능력을정확히파악한후자신 2 문제해결절차 학습목표 알고리즘의의미를이해하고, 문제해결절차를알고리즘으로표현할수있다. 알고리즘을의사코드나순서도로작성할수있다. 자료를정렬하고탐색하는다양한방법을설명할수있다. 공주님을구하라! 메인보드나라롬공주와이웃나라램왕자의결혼식에믿을수없는일이일어났다. 온국민의축복속에결혼식이진행되던중무시무시한용이나타나공주를납치해간것이다. 범인은왕국북쪽의디스크산에살고있는바이러스용이다.

More information

클라우드컴퓨팅 주요법령해설서 2017. 11. 목차 3... 5 I... 15 II... 39 1. 공공분야... 41 2. 금융분야... 71 3. 의료분야... 81 4. 교육분야... 95 5. 신산업등기타분야... 101 III... 109 요약문 5, 15 3, 1 16~ 18 15 11 16 4, 16 7,,, 5 16 5, 16 7~10,,,

More information

정렬문제란크기비교가가능한데이터의시퀀스를오름또는내림차순으로재배치하는문제를말한다. 즉, 다음의정수리스트를오름차순으로정렬하면, [4,2,3,1,6,8,3,2,6,7] 다음과같이된다. [1,2,2,3,3,4,6,6,7,8] 이장에서는정수리스트를오름차순으로정렬하는함수를다양한알고

정렬문제란크기비교가가능한데이터의시퀀스를오름또는내림차순으로재배치하는문제를말한다. 즉, 다음의정수리스트를오름차순으로정렬하면, [4,2,3,1,6,8,3,2,6,7] 다음과같이된다. [1,2,2,3,3,4,6,6,7,8] 이장에서는정수리스트를오름차순으로정렬하는함수를다양한알고 CSE117 프로그래밍기초강의노트 1 10 프로그램디자인사례 : 정렬 Program Design Case Study: Sorting 한양대학교 ERICA캠퍼스컴퓨터공학과도경구 2013년 2학기 (version 0.8) 1 c 도경구 (2013). 본문서는한양대학교 ERICA 캠퍼스컴퓨터공학과프로그래밍기초강의용으로제 작되었습니다. 강의이외의용도로저자의허락없이무단복제하여배포할수없습니다.

More information

알고리즘 1장 기본개념

알고리즘 1장 기본개념 Video & Image VIPLProcessing Lab. 2013-1 Myoung-Jin Kim, Ph.D. (webzealer@ssu.ac.kr) Research Professor(Soongsil University) 컴퓨터학과이관용교수 Myoung-Jin Kim, Ph.D. (webzealer@ssu.ac.kr) 알고리즘의기본개념 알고리즘의중요성 자료구조파일처리

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

Chap 6: Graphs

Chap 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 information

슬라이드 1

슬라이드 1 6-1 리스트 (list) 란순서를가진항목들을표현하는자료구조 리스트를구현하는두가지방법 배열 (array) 을이용하는방법 구현간단 삽입, 삭제시오버헤드 항목의개수제한 연결리스트 (linked list) 를이용하는방법 구현복잡 삽입, 삭제가효율적 크기가제한되지않음 6-2 객체 : n 개의 element 형으로구성된순서있는모임 연산 : add_last(list,

More information

Microsoft PowerPoint Merging and Sorting Files.ppt

Microsoft PowerPoint Merging and Sorting Files.ppt 자료처리 () 006 년봄학기문양세강원대학교컴퓨터과학과 정렬 / 합병의개요 정렬의종류 : 내부정렬, 외부정렬 내부정렬 (internal sorting) 데이타가적어서메인메모리내에모두저장시켜정렬가능할때사용함 레코드의판독 (read) 및기록 (write) 에걸리는시간이문제가되지않음 외부정렬 (external sorting) 데이타가많아서메인메모리의용량을초과하여보조기억장치

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

*금안1512-01-도비라및목차1~9

*금안1512-01-도비라및목차1~9 ISSN 1975-667 215. 12 215. 12 6 5 4 3 2 1 6 5 4 3 2 1 3 145 14 135 13 13 143. 14.7 1.4 9.2 1 7 45 4 35 41.4 85 76.9 76.8 3 7 8 75 125 4 4 1 25 8 6 4 2 2 15 1 5 15 15 36 35.3 36 14 13 12 11 14

More information

제 11 장 다원 탐색 트리

제 11 장 다원 탐색 트리 제 11 장 다원탐색트리 Copyright 07 DBLB, Seoul National University m- 원탐색트리의정의와성질 (1) 탐색성능을향상시키려면메모리접근횟수를줄여야함 탐색트리의높이를줄여야함 차수 (degree) 가 2보다큰탐색트리가필요 m- 원탐색트리 (m-way search tree) 공백이거나다음성질을만족 (1) 루트는최대 m 개의서브트리를가진다.

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft 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 information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft 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 information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 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 information

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - 제11장 포인터(강의) 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

歯박지원-구운몽.PDF

歯박지원-구운몽.PDF wwwnovel21com (c) Copyright Joeun Community All Rights Reserved ,,,,,,,,,,,, 1 2 ( ) ( ),,, ( ) ( ) ( ), ( ) ( ) ( ) " ( ) 3 ( ) " ( ) " ( ) ( ) ( ) " ( ) " ",,, ( ) ", ( ), 4 ( ), " ( ), () ",,,, 5 (

More information

*금안14(10)01-도비라및목차1~12

*금안14(10)01-도비라및목차1~12 ISSN 1975-667 21. 1 21. 1 3 1 8 6 2 1 8 6 2 15 1 13 12 11 1 15 12 9 6 3 36 32 28 2 75 85 83 81 79 77 5 1 8 6 1 8 6 1 8 25 2 2 2 6 15 1 2-2 5-5 3 2 3 2 1 1-1 -1-2 -2 6 1 13 12 1 8 6 16 12 2.

More information

C O N T E N T 목 차 요약 / 4 Ⅰ. 서론 Ⅱ. 주요국별대형유통망현황 / Ⅲ. 시사점및진출방안 ( 첨부 ) 국가별주요수입업체

C O N T E N T 목 차 요약 / 4 Ⅰ. 서론 Ⅱ. 주요국별대형유통망현황 / Ⅲ. 시사점및진출방안 ( 첨부 ) 국가별주요수입업체 Global Market Report 13-045 2013.6.07 CIS 대형유통망현황및진출방안 C O N T E N T 목 차 요약 / 4 Ⅰ. 서론 Ⅱ. 주요국별대형유통망현황 / Ⅲ. 시사점및진출방안 ( 첨부 ) 국가별주요수입업체 C IS 대형유통망현황및진출방안 요 약 - 1 - Global Market Report 13-045 - 2 - C IS 대형유통망현황및진출방안

More information

원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를

원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를 리스트에대한설명중틀린것은 구조체도리스트의요소가될수있다 리스트의요소간에는순서가있다 리스트는여러가지방법으로구현될수있다 리스트는집합과동일하다 다음은순차적표현과연결된표현을비교한것이다 설명이틀린것은 연결된표현은포인터를가지고있어상대적으로크기가작아진다 연결된표현은삽입이용이하다 순차적표현은연결된표현보다액세스시간이많이걸린다 연결된표현으로작성된리스트를 개로분리하기가쉽다 다음은연결리스트에서있을수있는여러가지경우를설명했는데잘못된항목은

More information

슬라이드 1

슬라이드 1 CHAP 6: 큐 yicho@gachon.ac.kr 1 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 2 큐 ADT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

More information

슬라이드 1

슬라이드 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

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

Data 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 information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

03장.스택.key

03장.스택.key ---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():

More information

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max 알고리즘설계와분석 (CSE3081-2반 ) 중간고사 (2013년 10월24일 ( 목 ) 오전 10시30분 ) 담당교수 : 서강대학교컴퓨터공학과임인성수강학년 : 2학년문제 : 총 8쪽 12문제 ========================================= < 주의 > 답안지에답을쓴후제출할것. 만약공간이부족하면답안지의뒷면을이용하고반드시답을쓰는칸에답안지의어느쪽의뒷면에답을기술하였는지명시할것.

More information

문서의 제목 나눔명조R, 40pt

문서의 제목  나눔명조R, 40pt 이문서는나눔글꼴로작성되었습니다. 설치하기 11차시 : 함수동적메모리할당다차원배열 프로그래밍및실험 제 11주 동국대학교조영석 6.6 함수인자로써의배열 - 함수정의에서배열로선언된형식매개변수는 pointer임. - 함수의인자로배열이전달되면배열의기본주소가 ( 배열의내용이아님 ) call-by-value로전달됨. - 배열원소는복사되지않음. 2 ( 예 ) #include

More information

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할 저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

,702 16,576 16, ,967 2,890 2, ,768 18,655 18,

,702 16,576 16, ,967 2,890 2, ,768 18,655 18, 40 산업 정책 2016년도 신문사 재무 분석 발목 잡힌 신문 광고 시장 이상기 부경대 신문방송학과 교수 광고 시장에서 부동의 1위였던 지상파TV는 그 지위를 모바일에 내줬다. 2위 자리마저 케이블TV(종편 포함)가 차지했다. 이로써 지상파TV는 세 번째 광고 매체로 밀려났다. 41

More information

Discrete Mathematics

Discrete Mathematics 이산수학 () 알고리즘 (Algorithms) 0 년봄학기 강원대학교컴퓨터과학전공문양세 Algorithms The foundation of computer programming. ( 컴퓨터프로그래밍의기초 / 기반이다.) Most generally, an algorithm just means a definite procedure for performing some

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 대표적인분할정복알고리즘 4 장. 재귀호출 학습목표 재귀호출이라는개념자체를명확히이해한다. 재귀호출함수의내부구조를이해한다. 재귀호출에내재하는효율성에대해이해한다. 1 Section 01 상징적의미 - 도미노 도미노 2 도미노 100 번째것이반드시쓰러진다는사실을증명하라. 수학적귀납법 (Mathematical Induction) 처음것 (K=1) 은반드시쓰러진다. K

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

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

비트와바이트 비트와바이트 비트 (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 information

슬라이드 1

슬라이드 1 Recursion SANGJI University KO Kwangman () 1. 개요 재귀 (recursion) 의정의, 순환 정의하고있는개념자체에대한정의내부에자기자신이포함되어있는경우를의미 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 정의자체가순환적으로되어있는경우에적합한방법 예제 ) 팩토리얼값구하기 피보나치수열 이항계수 하노이의탑 이진탐색

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information