일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 연결리스트
- MSA
- heapq
- 최대 힙
- 운영체제
- 최소힙
- 스케줄링
- 강화학습
- 연결리스트 종류
- 엔티티 그래프
- 자료구조
- 이분탐색이란
- 백준 장학금
- 알고리즘
- 프로세스
- JPA
- 완전이진트리
- python
- jpa n+1 문제
- spring
- 점근적 표기법
- SpringSecurity
- JVM
- Kruskal
- 멀티프로세서
- 힙트리
- posix
- 백준장학금
- HTTP
- AVL트리
- Today
- Total
목록cs (57)
KKanging

이 내용은 http 완변 가이드란 책을 읽고 정리한 내용입니다. 더 자세한 내용이 궁금하시면 책을 직접 읽어보시는 걸 추천합니다. 3장 HTTP 메시지 HTTP - 인터넷 배달원 HTTP 메세지 - 소포 로 비유할 수 있다. 1 메세지의 흐름 클라이언트, 서버 , 프락시 사이를 흐른다. HTTP 메시지 주고받은 데이터들의 블록 내용과 의미를 설명하는 텍스트 메타 정보로 시작 그다음에는 선택적으로 데이터가 온다. 용어 인바운드 && 아웃바운드 업스트림 && 다운스트림 인바운드 && 아웃바운드 트랜잭션 방향을 표현하기 위해 사용 서버방향으로 통신하는 것 : 인바운드 클라이언트 방향으로 통신하는 것: 아웃바운드 업스트림 && 다운 스트림 모든 데이터는 다운스트림으로 흐른다. 클라이언트 → 서버:프락시에게 클라..

이 내용은 http 완변 가이드란 책을 읽고 정리한 내용입니다. 더 자세한 내용이 궁금하시면 책을 직접 읽어보시는 걸 추천합니다. 2장 URL과 리소스 학습목표 URL 문법, 여러 URL 컴포넌트가 어떤 의미를 가지며 무엇을 수행하는지 여러 웹 클라이언트가 지원하는 상대 URL과 확장 URL 같은 단축 URL 에 대해서. URL의 인코딩과 문자 규칙. 여러 인터넷 정보 시스템에 적용되는 공통 URL 스킴. 기존 이름은 유지하면서 객체들을 다른 장소로 옮기는 것을 가능하게 해주는 URN을 포함한URL의미 1. 인터넷의 리소스 탐색하기 리소스를 찾기위해 사용자가 리소스를 가지기 위해 리소스의 위치를 알아야한다. URL이 리소스의 위치를 나타낸다. URL을 통해 리소스를 찾기위해 HTTP와 다른 프로토콜을 이..

이 내용은 http 완변 가이드란 책을 읽고 정리한 내용입니다. 더 자세한 내용이 궁금하시면 책을 직접 읽어보시는 걸 추천합니다. 1장 HTTP 개관 1.HTTP: 인터넷의 멀티 미디어 배달부 HTTP = HyperText Transfer Protocal HTTP 는 신뢰성 있는 전송 프로토콜 전송 중간에 파괴 , 중복 , 왜곡 걱정이 없다 2. 웹 클라이언트와 서버 클라이언트가 특정 리소스를 필요할 것이다 그 리소스를 얻기 위해 어떻게 작용할까 리소스(resource;;자원) 클라이언트는 리소스가 필요할때마다 server에게 HTTP Request를 보내고 server는 그에 맞는 HTTP Response를 반환하는 형태로 리소스를 보여준다 예를 들면 브라우저(크로,edge같은) 가 www.naver...

우선 그래프 이론과 큐와 스택을 모른다면 그래프 큐 스택 을보고 오시기 바랍니다. 그래프를 탐색하는 방법 DFS (깊이 우선 탐색) BFS (너비 우선 탐색) DFS(Depth-First-Search) 관련 있는 노드를 최대한 깊이 있게 탐색하는 방법 구현 방법 stack 재귀함수 구현 방법 우선 방문한 정점을 다시 방문하는 일이 없도록 visited 배열을 만들어 준다. 0은 아직 방문하지 않았다는 의미 시작 정점 하나부터 stack에 넣는다. 그리고 stack의 있는 원소를 pop 한다 pop 된 정점과 연결되어 있는 정점을 stack에 push 한다. pop 된 정점과 연결되어 있는 visited 원소를 1로 바꾼다. 이제 핵심 로직을 반복하면 된다. 4가 pop 되고 4와 연결되어 있는 정점을 찾..

그래프란 정점끼리의 연결을 나타내는 자료구조이다. 정점과 간선으로 이루어져 있다. 정점(vertex): data를 표현하는 단위(node) 간선(edge): data 끼리의 연결을 나타내는 선 vertex는 총 6개이고 edge는 총 8개의 간선이 있다. 그래프와 트리의 차이점 트리와 그래프 둘 다 정점끼리의 연결구조를 가지고 있다. 하지만 cycle의 유무에 따라 그리고 계층적인 구조를 가지냐에 따라 나뉜다. 그래프(graph) cycle을 가짐 계층 구조를 가지지 않음 → 오로지 정점끼리의 연결만 나타낸다. 트리(tree) cycle을 가지지 않음 계층 구조를 가지고 있음 → root로부터 다른 정점들이 계층적임 cycle이란 if vertex의 집합을 {v1,v2,v3,v4,v5,v6}가 있다면 특..

이진 탐색트리(Binary Search Tree) 이진 탐색트리는 이진 트리의 종류로 부모노드의 오른쪽자식은 자신보다 크고 왼쪽자식은 자신보다 작다 연결리스트로 표현한다. 이진 탐색트리 연산 삭제 삽입 삭제 이진 탐색트리의 탐색 만약 15라는 수를 찾는다면 root node 부터 탐색한다. 비교하는 수와 현재 노드의 수를 비교해 크면 오른쪽 작으면 왼쪽에서 찾는다. 15는 10보다 크므로 오른쪽으로 간다. 15는 20보다 작으므로 왼쪽으로 간다. 15를 찾았으므로 true 반환 만약 못찾으면 null을 만나므로 false 반환 이진 탐색트리의 삽입 삽입은 무조건 맨아래 노드에 삽입한다 어디에 삽입할지는 이진 탐색을 통해 이루어진다 위 예시에서 13을 삽입하고 싶으면 우선 13이 어디에 삽입 해야하는지 탐..

이진트리 많아야 두 개의 자식 노드를 가짐 왼쪽 자식과 오른쪽 자식으로 구분 완전이진트리처럼 트리의 균형이 유지가 되지 않음 균형이 없는 트리이기 때문에 연결리스트로 표현하는 게 적합 root node로부터 이진트리를 표현한다. 연결리스트로 표현 돼서 배열처럼 트리의 원소를 찾기 힘들다. 그래서 이진트리는 순회 알고리즘을 이용해서 노드의 수나 정점을 찾는다. 이진트리의 순회 방법 전위 (VLR) 중위 (LVR) 후위 (LRV) 기준은 visit을 기준으로 전위 중위 후위를 나눈다 전위(Preorder traversal) root node부터 시작한다. Visit 하고 왼쪽(left)으로 가고(visit)한다. 왼쪽이 없으면 오른쪽으로 간다.(Right) 위 순서대로 방문한다. 중위(Inorder trav..

힙이란 완전이진 트리로 구성되었다. 트리의 구성이 균형을 이룬다 부모노드와 자식 노드 관계에 특징을 이룬다. 힙의 종류 최대 힙 트리 (Max heap) 완전이진트리로 구성 부모 노드의 키 값은 자식 노드의 키 값보다 크거나 같음 왼쪽 오른쪽 자식의 크기 구분 없음 최소 힙 트리(Min heap) 완전 이진트리로 구성된 트리 부모 노드의 키 값은 자식 노드의 키 값보다 작거나 같음 왼쪽 오른쪽 자식의 크기 구분 없음 힙의 응용 우선 순위 큐, 프린터 스풀러 등등 힙 정렬: 최대 힙 (내림 차순 정렬) , 최소 힙 ( 오름차순 정렬) 최대 힙 구조 이 글에서는 최대 힙의 예시와 구현만 하였습니다. 최대 힙의 예 배열 표 삽입 연산 그리고 heapify 연산을 한다 heapify 연산이란 ? 위 그림과 같이..

완전 이진트리란? 완전 이진트리 자식 노드가 왼쪽부터 순서적으로 채워진 이진트리 높이가 균형을 유지 완전 이진트리 표현 배열로 표현한다. 이유는 완전이진트리의 속성인 균형이 유지되기 때문 완전 이진트리 자료구조 0부터 시작해도 되지만 노드의 인덱싱의 조금 더 가시성이 좋기 때문에 1부터 시작해도 된다. 1부터 시작할 경우 배열 인덱스 i의 부모노드: i/2의 바닥함수(내림) 노드 배열 인덱스 i의 왼쪽 자식: 2i의 노드 배열 인덱스 i의 오른쪽 자식: 2i + 1의 노드 완전 이진트리의 레벨 i에서 노드의 수는 2^(i-1)개 완전이진트리의 높이가 h일 경우 최대 노드의 수는 2^h -1개 완전 이진트리에서 노드의 수 n일 경우 트리의 높이는 O(logn) 완전이진트리를 사용한 알고리즘의 수행시간은 트..

트리란 트리는 계층적인 구조를 표현할 때 사용할 수 있는 자료구조 cycle을 가지지 않는 그래프 트리 관련 용어 노드(node) : 트리 자료구조에서 data의 단위 간선(edge): 트리나 그래프에서 정점이나 노드끼리 연결되어 있는 선 루트 노드(root node): 부모가 없는 최상위 노드 단말 노드 or 말단 노드(leaf node): 자식이 없는 노드 크기(size): 트리에 포함된 모든 노드의 개수 깊이(depth): 루트 노드로부터의 거리 높이(height): 깊이 중 최댓값 차수(degree): 각 노드의 (자식 방향) 간선 개수 이런 형태도 트리일까? 이 형태는 cycle이 발생하기 때문에 트리가 아니다. 기본적으로 트리의 크기가 N일 때, 전체 간선의 개수는 N-1 이유는 cycle이 ..