CS

CS정리 - 2

reasontaek 2021. 8. 14. 08:47

자료구조

- 스택: First-In Last-Out(FILO)

- 큐: First-In First-Out(FIFO)

- 트리: 정점과 간선을 이용해 사이클을 이루지 않도록 구성

- 힙:

최대값 또는 최소값을 찾아내는 연산을 쉽게하기 위해 고안,

각 노드의 키 값이 자식의 키 값보다 작지 않거나(최대힙)

그 자식의 키 값보다 크지 않은(최소힙) "완전이진트리"이다.

 

우선순위 큐

- O(logn)

- 가장 우선순위가 높은 데이터를 먼저 꺼내기 위해 고안, 대표적으로 힙

 

해시 테이블

- 평균: O(1), 최악: O(n)

- (Key, Value)로 데이터를 저장하는 자료구조

- 빠른 데이터 검색에 유용

- Key 값에 해시 함수 적용

 

버블 소트

- O(n^2)

- 서로 인접한 두 원소 비교

힙 소트

- O(밑이 2인 nlogn)

- 힙 자료구조를 만들어 최대값 또는 최소값부터 하나씩 꺼내서 정렬

합병 소트

- O(밑이 2인 nlogn)

- 배열의 크기가 1인 배열로 분할하고 합병하면서 정렬

퀵 소트

- O(밑이 2인 nlogn)

- 피벗 선택 후 피벗보다 작은 것은 왼쪽, 큰 것은 오른쪽으로 정렬

삽입 정렬

- O(n^2)

- 두번 째 값부터 시작하여 그 앞에 존재하는 원소들과 비교하여 삽입할 위치 찾음

 

웹 동작 프로세스

1. URL 입력

2. DNS 통해 주소 찾음

3. HTTP 프로토콜을 통해 HTTP 요청 메시지 생성

4. TCP/IP 연결을 통해 HTTP 요청이 서버로 전송

5. 서버는 HTTP 프로토콜을 통해 HTTP 응답 메시지 생성

6. TCP/IP 연결을 통해 요청한 컴퓨터로 전송

7. 도착한 HTTP 응답 메시지는 웹페이지 데이터로 변환되고, 웹 브라우저에 의해 출력

 

TCP와 UDP 차이

  TCP UDP
연결 방식 연결형 비연결형
패킷 교환 방식 가상 회선 방식 데이터그램 방식
전송 순서 보장 비보장
수신 여부 확인 O X
통신 방식 1:1 1:1 or 1:N or N:N
신뢰성 높음 낮음
속도 느림 빠름

 

GET과 POST의 차이

  GET POST
URL에 데이터 노출 O X
데이터 위치 Header Body
캐싱 가능 여부 O X

 

OSI 7계층

- 7계층(응용): 사용자와 직접 상호작용하는 응용프로그램들이 포함

- 6계층(표현) 데이터 형식을 정의

- 5계층(세션): 컴퓨터끼리 통신하기 위해 세션 생성

- 4계층(전송): 최종 수신 프로세스로 데이터 전송을 담당

- 3계층(네트워크): 패킷을 목적지까지 가장 빠른 길로 전송

- 2계층(데이터링크): 데이터의 물리적인 전송과 에러 검출, 흐름 제어

- 1계층(물리): 데이터를 전기 신호로 바꿈

 

HTTP(Hyper Text Transfer Protocol)

- 서버/클라이언트 모델

- 응용계층, TCP/IP 위에서 작동

- Stateless

 

HTTPS

- 메시지를 공개키로 암호화

- 기업을 제외한 누구도 원본 데이터를 얻을 수 없음

'CS' 카테고리의 다른 글

CS정리 - 3  (0) 2021.08.15
CS 정리 - 1  (0) 2021.08.13