CS 56

스택(Stack) & 큐(Queue)

1. 스택(Stack) - LIFO(Last-In, First-Out) 구조 : 먼저 들어간 것이 나중에 나온다. - 스택 관련 연산 1) push : 데이터 추가 2) pop : 데이터 꺼내기 - 소스코드 1) 배열로 Stack 구현 #include #include typedef struct ArrStack { int arr[100]; int top; }Stack; void init(Stack* node); int is_Empty(Stack* node); void push(Stack* node, int data); int pop(Stack* node); int main() { Stack my_stack; int n; init(&my_stack); for (int i = 0; i < 3; i++) { s..

CS/자료구조 2021.07.10

재귀함수

1. 재귀함수란? - 함수 내에서 자기 자신을 다시 호출하는 함수 void Recursive(void){ printf("Recursive call\n"); Recursive(); } 2. 관련 문제 1. 피보나치 수열 #include int fibo(int n) { if (n == 1) return 0; if (n == 2) return 1; return fibo(n - 1) + fibo(n - 2); } int main() { int n; scanf("%d", &n); printf("%d\n", fibo(n)); return 0; } 2. 이진탐색 #include int BinarySearch(int* arr, int left, int right, int n) { if (left > right) ret..

CS/자료구조 2021.07.08

CH2) Application Layer

1. Principles of network applications 1. network & app 1) end system은 모든 계층 프로토콜을 다 가져야 함 2) 라우터는 network 계층까지만 있어도 됨 2. app 관계 종류 1) Client-Server paradigm - server 1) 항상 켜져있고, 자신만의 고유한 주소를 가진다. - client 1) 자기가 서비스 받을 때만 연결, IP주소를 할당 받음 2) client끼리 직접적 통신은 불가 2) Peer-Peer paradigm : 서버 or 클라이언트 역할이 정해지지 않음 3. 통신 1) 한 컴퓨터 내에 process끼리 통신 : OS 차원에서 IPC(Inter Process Communication 프로세스 간 통신)을 제공한다..

CS/컴퓨터망 2021.07.07

CH1) Introduction

1. What is the Internet? 1. 인터넷의 정의 1) "nuts and bolts" view (= 이렇게 구성된 것이 인터넷이다.) 컴퓨팅 능력 있는 기기들의 연결 수가 많다. Packet switches (router, switch) 연결 link (유선&무선) => 네트워크들이 서로 연결되어 또 다른 네트워크를 구성 2) "service" view (= 이런 서비스를 제공하는 것이 인터넷이다.) 2. What is a protocol? - 네트워크 구성원들 간의 주고받는 메시지에 대한 형식, 순서, field 값에 따라 취할 action을 정의한다. 3. Network Edge * core = router들의 연결 * access망 = host와 router를 연결, host가 cor..

CS/컴퓨터망 2021.07.02

네이티브 앱, 모바일 웹앱, 하이브리드 앱

1. 네이티브 앱 - 흔히 '어플리케이션'하면 떠오르는 것 ex) 카톡 - 모바일 기기에 최적화된 앱 - 안드로이드 SDK를 이용해 Java 언어로 만드는 앱, - os기반 SDK를 이용해 swift로 만드는 대부분의 앱 네이티브 앱의 장점 - 성능이 웹앱, 하이브리드 앱에 비해 높다. - 네이티브 API를 호출함으로써 플랫폼과 밀착되어 있다. 네이티브 앱의 단점 - 해당 플랫폼에 한정적이다. - 해당 플랫폼에서 요구하는 언어에 제약적이다. 2. 모바일 웹앱 - 모바일웹과 네이티브앱을 결합한 형태 - 스마트폰이 대중화되지 않았을 때, 각각의 운영체제에 맞춰 따로 개발해야 하니 그냥 '웹으로 앱을 개발하자'는 생각으로 만듦 - 모바일웹보다는 모바일에 더 최적화된 앱 - 겉모습은 앱, 실행되는 건 웹 => ..

CS/기타 2021.06.22