트리(Tree) 루트라는 특별한 노드를 갖고 그래프를 구성하는 단순경로가 존재하는 비순환의 연결그래프 노드(Node) 트리인 그래프 T를 구성하는 꼭짓점 루트(Root) 트리인 그래프 T의 가장 높은 곳에 위치하는 시작노트 ->A 부모 노드(Parent Node) 임의의 노드의 한 단계 상위 노드 자식 노드(Child Node) 임의의 노드의 한 단계 하위 노드 형제 노드(Sibling Node) 임의의 노드와 부모가 같은 노드 리프 노드(Leaf Node) 자식 노드가 없는 노드 중간 노드(Internal Node) 루트 노드나 리프 노드가 아닌 노드 조상 노드(Ancestor Node) 임의의 한 노드에 이르는 경로에 포함된 모든 노드들 자손 노드(Descendant Node) 임의의 한 노드에서 리..
전체 글
그래프의 차수(Degree) 꼭짓점 v에 근접하는 모서리의 수 이 그래프에서 꼭짓점 1의 차수는 1, 2의 차수는 3이다. 차수에대한 정리 1. 그래프G=(V,E)에서 모든 꼭짓점의 차수의 합은 모서리의 수의 두배이다. 위 그래프도 모서리의 수는 2이고 꼭짓점의 차수의 합은 4이다. 2. 그래프 G=(V,E) 에서 차수가 홀수이면 꼭짓점의 수는 짝수이다.(아니면 그래프가 아님) 부분그래프와 부분신장 그래프 부분 그래프 : 어떤 그래프 G에 포함되는 일부 꼭짓점과 모서리로만 그린 그래프 부분신장 그래프 : 부분 그래프 중에서 그래프 G의 꼭짓점을 모두 포함하지만 모서리는 일부만 포함하는 그래프 차례대로 그래프 G, 부분그래프, 부분신장 그래프이다. 부분그래프는 그래프 G에 속해있으면 되고, 부분신장 그래프..
이중포인터(double pointer) : 포인터를 가리키는 포인터 포인터 연산자 하나 당 화살표 하나(그림그려서 쉽게 할 수 있음. 같은 형끼리 비교, 대입연산) 주소에 의한 호출 : 값 변경 가능 값에 의한 호출 : 함수가 끝나면 메모리 삭제됨. 포인터배열(array of pointers)(많이 씀) 배열의 원소가 포인터인것. int *ap[10]; []연산자가 *연산자보다 우선순위가 높으므로 ap는 먼저 배열이되고 그 후 int 형 포인터가 된다. 배열 안에 int *변수가 들어간 것. 정수형 포인터 배열 int a=10, b=20, c= 30, d=40, e=50; int *api[5] = {&a,&b,&c,&d,&e}; 이런식으로 포인터배열 하나당 같은 형의 변수 하나를 가리킬 수 있음. 2차원..
저번시간에 이어서 오늘은 공용체(Union),열거형(enum),사용자 정의 자료형(typedef)에 대해서 알아 볼 것이다. 우선 union은 공용체라고도 불린다. 유니온은구조체와 비슷하지만 같은 메모리 영역을 여러개의 변수가 공유하고, 그 메모리의 크기는 공용체 멤버 중 가장 큰놈의 바이트로 결정된다. 또, 공용체와 구조체의 다른점은 구조체는 그 안 멤버들을 모두 쓴다면, 공용체는 그 안 멤버들 중 하나만 사용한다는 것이다. 따라서, 메모리 절약차원에서 뛰어나다는 장점이 있다. 말로는 읽기도 싫고 이해도 잘 안되니 그림으로 보자.구조체와 마찬가지로 공용체 형 선언을 먼저 해주고 그 공용체의 변수 선언은 또 따로 해줘야한다. 구조체와 마찬가지로 멤버 접근은 . 연산자로 해준다. 메인함수에서 보듯이 v.c..
이번 글에서는 함수에 대해서 알아 볼 것이다. 목차는 함수의 개념, 함수의 종류, 합성함수, 함수의 특성에 대해서이다. 함수의 개념 함수(Function : A->B) 집합 A,B에 대해 집합 A에서 B로 가는 관계가 성립할 때, 집합 A의 원소 a에 대해 집합 B의 원소 b 하나가 대응되는 관계 즉, 하나의 입력값에서 하나의 출력값이 나와야한다. 그림으로 보자면 이렇게 f(a)=1, f(a)=2가 나오면 안된다. 오직 하나의 출력값만이 나와야한다. 단사함수(injective function)쉽게 말하자면, 정의역의 원소들이 공변역의 원소들이랑 한놈씩 대응하는 함수이다.이런 함수가 단사함수이다.이것도 단사함수이다. 근데 공변역에 원소가 더 많으면 인기없는 원소들은 정의역한테 선택을 못받을 수도 있음… 전..