[Algorithm, JavaScript] 그래프(graph)
2022. 10. 25. 12:21
개발 기초/Data Structure & Algorithm
그래프 개요 그래프는 버텍스와 아크로 이루어져 있다. 그래프는 버텍스 간에 여러 개의 아크가 존재할 수 있는데, 다른 버텍스에서부터 오는 아크의 개수를 In-degree, 다른 버텍스로 가는 아크의 개수를 Out-degree라고 부른다. 이때 방향성을 띄고 있는지에 따라 방향 그래프와 무방향 그래프로도 나뉜다. 뱡향 그래프는 무방향 그래프와 다르게 방향을 나타내는 화살표가 있다. 위 방향 그래프 그림에서 (C) 버택스는 (B)로 부터 오는 한 개의 In-degree와, (E), (D)로 가는 두 개의 Out-degree를 가지고 있다. 위 무방향 그래프 그림에서 (E) 버텍스는 (B), (D) 2개의 Degree가 있다. 그래프를 코드로 나타내기 그래프를 코드로 표현하는 방법엔 크게 두 가지가 있다. 하..
[C/C++, Data Structure] Binary Search Tree를 이용한 단어 빈도 프로그램
2021. 11. 12. 03:10
개발 기초/Data Structure & Algorithm
#include #include #include #include #include #include #define MAX_FNAME 100 #define MAX_WORDS 10000 #define MAX_WORD_SIZE 100 #define TRUE 1 #define FALSE 0 // 데이터 형식 typedef struct { char word[MAX_WORD_SIZE]; // 단어 int count; } element; // 노드의 구조 typedef struct TreeNode { element key; struct TreeNode *left, *right; } TreeNode; // 문자열 비교 strcmp 함수 // 만약 e1 음수 반환 (시스템에 따라: -1) // 만약 e1 ==..
[C/C++, Data Structure] Stack을 사용한 계산기 (infix to postfix)
2021. 10. 26. 04:11
개발 기초/Data Structure & Algorithm
#include #include #include #include // // Calculator // // 프로그램 5.3 // 스택 동작 관련 함수들 typedef char element; #define MAX_STACK_SIZE 100 #define MAX_STR_SIZE 4096 typedef struct { element data[MAX_STACK_SIZE]; int top; } StackType; // 스택 초기화 함수 void init_stack(StackType* s) { s->top = -1; //s->capacity = 1; //s->data = (element *) malloc(s->capacity * sizeof(element)); } // 공백 상태 검출 함수 int is_empty(..
[네트워크] Network Layer
2021. 9. 28. 18:01
개발 기초/Network
네트워크 층의 기능 라우팅과 포워딩 기능 라우팅 - 네트워크에서 패킷이 목적지까지 도착할 수 있도록 경로를 결정해주는 것 포워딩 - 패킷을 전달시키는 역할로 보통 라우팅과 포워딩을 같은 역할로서 말한다. Packetizing 하나의 메세지를 여러개의 패킷으로 나누어서 전달 혼잡제어(congestion control) 공동 공간에 너무 많은 데이터그램이 존재하는 경우 제어 패킷 스위칭 하나의 메세지를 다수의 패킷으로 나누어서 보내는 것 어떤식으로 나눠서 보내냐에 따라서 데이터그램 방식(Datagram approach) 가상 회선 방식(Virtual circuit approach) 방식으로 나뉜다. 데이터그램 방식(Datagram approach) 비연결성 서비스이다. 각 패킷을 독립적으로 처리한다. 각 패..