본문 바로가기

C26

[C] 그래프 알고리즘 (Graph Algorithm) 정의 : - 정점과 간선으로 구성하는 자료 구조ㅠㄷ 용어 : - 정점, 노드(Vertex, Node) : 여러 특성을 가질 수 있는 객체 - 간선(Edge, link) : 각 노드를 연결하는 선. 화살표나 직선 등 형태는 다양하다. - self-loops : 노드에서 자기 자신으로 돌아오는 간선. - Adjacency : 방향 그래프(Directed Graph) 에서 간선으로 연결된 이동가능한 인접 노드. 방향그래프의 간선은 편도이므로 역방향의 노드는 Adjacency 가 아니다. - Degree : 1) 각 노드에 연결된 간선의 수. 2) in-degree 는 해당 노드로 들어오는 간선. out-degree 는 해당 노드를 나가는 간선. 3) Degree = in-degree + out-degree -.. 2021. 3. 11.
[C] 삽입 / 선택 / 버블 정렬 배열 자료값의 갯수 만큼 표적 자료와 다른 자료를 비교하며 회차를 반복하여 정렬시킨다. 삽입 정렬 : 자료들을 비교해가며 최댓값을 찾는데, 최댓값이 찾아지면 그 값은 이전 값들과 모두 비교하여 최댓값의 자리로 간다. - 1회차를 돌리면 배열 중 가장 큰 최댓값을 구할 수 있으므로, 최댓값을 구할 때 1회차만 돌림으로써 빨리 찾는데 유용. 선택 정렬 : 자료들을 비교해가며 최솟값을 찾는데, 최솟값이 찾아지면 그 값은 이후 값들과 모두 비교하여 최솟값의 자리에 머문다. 버블 정렬 : 인접한 두 값을 연속적으로 비교해가며 최댓값을 찾는다. 최댓값으로 선택된 값은 계속 우측으로 이동하며 최댓값 자리로 이동한다. - 삽입 정렬과 마찬가지로 1회차 만에 최댓값을 찾는데 용이하다 2021. 3. 10.
[C] 구조체 예제 #include #include struct student{ int number; char name[10]; }; int main(){ struct student s1; s1.number = 1; strcpy(s1.name, "JJ"); printf("%d", s1.number); printf("%s", s1.name); return 0; } #include #include #include struct date{ int month; int day; }; struct student{ int number; struct date d; char name[10]; }; int main(){ struct student s; s.number = 1; s.d.month = 3; s.d.day = 10; strcpy(s.. 2021. 3. 10.
[C] 문자열 예제 #include int main(){ int i; char str[4] = { 'a', 'b', 'c' }; i = 0; while(str[i] != '\0'){ printf(" %c", str[i] ); i++; } return 0; } '\0' 은 NULL 값을 의미한다. 배열에 자료값이 없어 NULL이면 while 문을 나온다. #include #include int main(void){ int i; char str[] = "hello"; // str = 'JJ'; strcpy(str, "JJ"); printf("%s", str); char *p = "hi~~~"; return 0; } #include #include int main(void){ int i; char str[] = "hello"; .. 2021. 3. 9.