일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dbms
- DB
- js
- Algorithm
- javascript
- til
- 개발자취업
- 공개키 암호화
- BFS
- Queue
- 자료구조
- 암호학
- sql
- 알고리즘
- jsp
- Java
- 크루스칼
- 가상컴퓨팅
- 99클럽
- python
- 99클럽 #코딩테스트준비 #개발자취업 #항해99 #til
- 코딩테스트
- 항해99
- JPA
- 코딩테스트준비
- generic class
- 코테
- spring
- mybatis
- 자바의정석
- Today
- Total
목록computer science (34)
PLOD

컴퓨터에서 네트워크란 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다. 여기서 노드란 서버, 라우터 , 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 유선을 의미한다. 라우터 네트워크 간의 패킷을 전달하는 장비이다. 다른 네트워크로 패킷을 전송하기 위해 가장 적합한 경로를 결정하는 역할을 수행한다. 라우터는 네트워크 주소를 기반으로 패킷을 전달하며, 네트워크의 분리와 보안을 위해 사용된다. 라우터의 동작 원리 라우터는 라우팅 테이블을 사용하여 패킷을 전달한다. 라우팅 테이블은 네트워크 주소와 해당 주소로 패킷을 전달하기 위한 다음 호스트의 주소를 포함한다. 라우터는 패킷의 목적지 주소를 확인하고 해당 주소에 대한 경로를 찾아 전달한다. 스위치 스위치는 네트워크 내에서 호스트 ..

완전탐색(Brute-force)완전탐색은 굉장히 단순한 아이디어이다. 답을 찾기 위해 모든 경우를 다 살펴 본다는 전략으로 확실하게 반드시 답을 찾을 수 있다는 장점이 있다. 그러나 모든 경우를 다 살펴 보므로 시간이 오래 걸린다는 게 단점이다. 아무리 컴퓨터의 연산 속도가 빠르다지만, 탐색 범위가 너무 넓거나 필요한 연산 수가 많다면 한참이 걸려도 답이 나오지 않는다. 백트래킹(Backtracking)원하는 정답을 찾기 위해 모든 경우를 골라보며 완전탐색을 하는 알고리즘이다. 백트래킹은 DFS,BFS와 같은 완전탐색 방식이지만, 진행 과정에서 답이 아닌 분기를 만나면 탐색을 진행하지 않고 돌아가 다른 분기로 감으로써 가지치기를 한다는 차이가 있다. 백트래킹은 DFS와 비슷하지만 전체를 탐색하는 깊이..

최단 경로최단 경로 알고리즘은 가장 짧은 경로를 찾는 알고리즘을 의미다양한 문제 상황한 지점에서 다른 모든 지점까지의 최단 경로 + 음의 간선 → 벨만-포드 알고리즘한 지점에서 다른 모든 지점까지의 최단 경로 → 다익스트라 알고리즘모든 지점에서 다른 모든 지점까지의 최단 경로 → 플로이드 워셜 알고리즘말 그대로 가장 짧은 경로를 찾는 알고리즘이다. (ex. 길찾기 문제) 최단 경로 문제는 보통 그래프를 이용해 표현하는데 각 지점은 그래프에서 노드로 표현되고 노드 간 연결된 선분은 간선으로 표현된다. Dijkstra Algorithm 다익스트라는 그래프에서 양의 가중치가 있는 한 노드에서 모든 경로까지의 최단 경로를 찾을 때 사용한다. 다익스트라 알고리즘은 기본적으로 그리디 알고리즘으로 분류된다. → ..

비밀키 암호화 기법은 대칭키 암호화 기법, 단일키 암호화 기법이라고도 한다. 동일한 키로 데이터를 암호화하고 복호화한다. 암호화하는 키와 복호화하는 키가 같기 때문에 key가 노출되면 누구나 암복호화가 가능하기 때문에 비밀성을 유지하는 것이 중요하다. 대칭키 암호화를 사용하는 기법 중 가장 유명한 암호화 기법은 DES(Data Encryption Standard) 기법이다. DES(64ibt) 1) IP(Initial Permutation, 초기 전치) 시행 2) 초기 전치 후 총 64비트 문을 상위 32비트(L0, 왼쪽 비트), 하위 32bit(R0, 오른쪽 비트)로 분할 3) 오른쪽 32bit(R0)와 라운드 키(K)와 함께 f 함수 연산을 하고 왼쪽 32bit(L0)와 XOR 연산 수행 . 이러한 ..

동적계획법컴퓨터는 굉장히 빠른 연산 속도를 장점으로 갖고 있기 때문에 인간이 풀기엔 오래걸리는 문제라도 컴퓨터로는 금방 답을 얻을 수 있다. 이 특징이 가장 두드러지는 방법이 완전탐색이다. 완전탐색은 범위가 작을 때는 시간,공간적으로는 괜찮았지만 범위가 10000000000 이상이라면 코딩테스트에서 시간 , 메모리 초과가 발생한다. 그래서 더 효율적인 알고리즘을 사용해서 풀어야 하는데 그 방법은 동적 계획법이다.예를 들면 , 6번째 피보나치 수를 구하려면 5번째와 4번째가 필요하다 5번째를 구하기 위해서는 4번째와 3번째가 필요하고... 이렇게 계속 반복하다 보면 0번째와 1번째 까지 오게 된다 . 이를 가지고 2번째 피보나치 수를 구할 수 있고 연쇄적으로 6번째 피보나치 수를 구할 수 있다. 피보나치..