다익스트라 알고리즘 단일 시작점 최단 경로 알고리즘으로 하나의 정점에서 출발하였을 때 다른 모든 정점으로의 최단 경로를 구한다. 1을 기준으로 잡고 최단 경로를 구한다고 할 때, 4의 경우 1 -> 4로 가는 비용보다 1 -> 3 -> 4로 가는 비용이 더 적기 때문에 더 적은 비용을 갱신할 수 있다. 구현 방법 BFS와 유사한 형태로, 시작점에서 가까운 순서대로 정점을 방문한다. 가중치가 있는 그래프에서는 BFS를 그대로 적용하기 어렵기 때문에 우선순위큐를 사용하여 해결한다. 각 정점까지의 최단 거리를 저장하는 배열 dp[]를 유지하며, 정점을 방문할 때마다 인접한 정점을 모두 검사한다. 간선 (u, v)를 검사한다고하면 u까지의 최단 거리에 (u, v)의 가중치를 더해 v까지의 경로의 길이를 찾는다...
Deque란? 스택(Stack) 자료구조의 하나로서 후입선출(Last In First Out)를 의미한다. 자바에서는 Stack을 class 형태로 지원해주고 있다 큐(Queue) Queue의 경우는 선입선출(First In First Out)를 의미한다. 자바에서 Queue는 인터페이스로 구현이 되어 있어 보통 LinkedList를 사용해서 구현하곤 한다. 덱, 데크(Deque) 자바 1.6부터 지원하게 된 Deque는 Queue 인터페이스를 확장하여 만든 인터페이스이다. 덱은 Double-Ended Queue의 줄임말로 큐의 양쪽에서 데이터를 넣고 뺄 수 있는 자료구조이다. 하나의 자료구조에 Queue와 Stack을 합쳐놓은 형태라고 생각하면 된다. 인덱스를 통해 검색, 추가, 삭제가 불가능하다. D..
관계의 정의 관계 (Relationship) : 엔터티의 인스턴스 사이의 논리적인 연관성으로써 존재의 형태로써나 행위로써 서로에게 연관성이 부여된 상태 관계는 엔터티와 엔터티간 연관성을 표현하기 때문에 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라서도 다양하게 변할 수 있다. 관계 페어링 관계는 엔터티 안의 인스턴스가 개별적으로 관계를 가지는 것(페어링)이고, 이것의 집합을 관계로 표현한다는 것이다. 따라서 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다. 관계의 분류 어떤 목적으로 연결되었는지에 따른 두 가지 분류 존재의 의한 관계 : 부서 - 사원 (사원은 부서에 항상 소속되어 있다.) 행위에 의한 관계 : 고..
1. 속성 (Attribute)의 개념 속성이란 사전적인 의미로는 사물이나 개념이 어떤 것인지를 나타내고 그것을 다른 것과 구별하는 성질이라고 할 수 있다. 데이터 모델링 관점에서의 속성은 “업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위”로 정의할 수 있다. 업무상 관리하기 위한 최소의 의미 단위로 생각할 수 있고, 이것은 엔터티에서 한 분야를 담당하고 있다. 속성의 정의를 정리해 보면 다음과 같다. 업무에서 필요로 한다. 의미상 더 이상 분리되지 않는다. 엔터티를 설명하고 인스턴스의 구성요소가 된다. 의미상 더 이상 분리되지 않는다는 특징을 살펴보면 다음과 같다. 예를 들어 생년월일은 하나로서 의미가 있다. 만약 이것을 생년, 생월, 생일로 구분한다면..
1. 엔터티의 개념 데이터 모델을 이해할 때 가장 명확하게 이해해야 하는 개념 중에 하나가 바로 엔터티(Entity)이다. 이것은 우리말로 실체, 객체라고 번역하기도 하는데 실무적으로 엔터티라는 외래어를 많이 사용한다. 엔터티는 아래와 같은 특징을 갖는다. 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당한다. 엔터티는 업무상 관리가 필요한 관심사에 해당한다. 엔터티는 저장이 되기 위한 어떤 것(Thing)이다. 엔터티는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 갖는데, 예를 들어 ‘학생’이라는 엔터티는 학번, 이름, 이수학점, 등록일자, 생일, 주소, 전화번호, 전공 등의 속성으로 특징지어질 수 있다. 이러한 속성 가운데에는 엔터티 인스턴스 전체가 공유할 ..
- Total
- Today
- Yesterday
- Spring
- JPA
- Nest
- 타입스크립트
- 프로그래머스
- dfs
- java
- 이분탐색
- Algorithm
- Queue
- SQL
- 스프링부트
- SQLD
- 백준
- BFS
- 자바
- 자바bfs
- 형변환
- DP
- 알고리즘
- 스프링
- JavaScript
- CS
- 정렬
- 자바트리
- Comparator
- 해시맵
- 자바dp
- 자바스크립트
- 리액트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |