일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발자 취업
- wil
- 회고
- Til
- 자바
- 코딩
- 이진 탐색(binary search)
- 99클럽
- css
- 메서드
- HTML
- cs 공부)준비
- Spring
- Entity
- aop
- 항해99
- 코딩공부
- 우선순위 큐(priorityqueue)
- 정렬 알고리즘(sort algorithm)
- 면접(java
- 자료구조
- 코딩테스트 준비
- 배열
- Grafana
- ArrayList
- Java
- 코딩문제
- GIT
- github
- 프로그래머스
- Today
- Total
목록항해99 (65)
hayu's 개발 일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/woSmO/btsH1PvMSio/htcY9KoTk47Jm8CsKnztn0/img.png)
학습 키워드- Big-O 표기법 공부한 내용시간복잡도**(Time Complexity)**알고리즘이 실행될 때 필요한 ‘입력값’과 ‘연산 수행 시간’에 따라 효율적인 알고리즘을 나타내는 척도를 의미한다.즉, 입력 값이 커질수록 알고리즘의 수행 시간이 어떻게 증가하는디에 따른 지표를 의미한다.시간 복잡도는 ‘빅오 표기법(Big-O notation)’를 통해 표현하며, ‘수치가 작을수록 효율적인 알고리즘’을 의미한다.공간 복잡도(Space Complexity)알고리즘이 실행될 때 필요한 ‘메모리의 공간의 양’을 의미한다.즉, 알고리즘의 효율성을 판단하는 데 사용되며 일반적으로 메모리 사용량이 적을수록 더 효율적인 알고리즘이라고 할 수 있다.공간 복잡도는 일반적으로 알고리즘의 시간 복잡도와 함께 고려되며 알고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0dPPs/btsH1nGhOkw/JeulcmvijgOXuvaTIWngH0/img.png)
학습 키워드- 우선순위 큐(PriorityQueue) 공부한 내용우선순위 큐 선언 방법// 낮은 수가 우선순위를 가짐PriorityQueue pq = new PriorityQueue();// 높은 수가 우선순위를 가짐PriorityQueue pq = new PriorityQueue(Collections.reverseOrder());//String형 priorityQueue 선언 (우선순위가 낮은 숫자 순)PriorityQueue priorityQueue = new PriorityQueue(); //String형 priorityQueue 선언 (우선순위가 높은 숫자 순)PriorityQueue priorityQueue = new PriorityQueue(Collections.reverseOrder());우..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ZcDpu/btsH3qakoyQ/Hsh4xhBHKEyfo2ZWkfnMBk/img.png)
학습 키워드- 우선순위 큐(PriorityQueue) 공부한 내용우선순위 큐(PriorityQueue)큐 자료구조는 선입선출(FIFO) 방식이다.우선순위 큐는 들어간 순서와 상관없이 높은 우선순위를 가진 원소가 먼저 나온다는 특징을 가진다.Heap을 이용하여 구현하는 것이 일반적이다.데이터 추출 시, 루트 노드를 얻어 루트 노드를 삭제할 때는 빈 루트 노드 위치에 맨 마지막 노드를 삽입 후 아래 노드로 내려가면서 정렬하는 방식으로 진행된다.숫자가 작을수록 먼저 나오는 큐를 최소힙(Min Heap)이라 하고,숫자가 클수록 먼저 나오는 큐를 최대힙(Max Heap)이라고 한다.우선순위 큐(Heap) 특징 및 시간 복잡도특징높은 우선순위의 요소를 먼저 꺼내서 처리하는 구조이다.→ 우선순위 큐에 들어가는 원소는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/crpUF2/btsH1DgKnFD/e0hRz26kuC4Hxjvgpk5rTK/img.png)
학습 키워드- Graph 공부한 내용그래프 구현 방법그래프는 여러 형태로 구현될 수 있다.주요한 구현 방법에는 인접 행렬(Adjacency Matrix)과 인접 리스트(Adjacency List)가 있다.두 가지 구현 방법 중 대부분 인접 리스트 방식을 많이 사용한다.인접 행렬(Adjacency Matrix)2차원 배열을 사용해 그래프를 표현한다.(2차원 배열에 저장한다.)배열의 요소는 노드 사이의 연결 여부를 나타낸다.아래와 같은 그림에서 연결된 vertex는 숫자 '1'이 데이터로 들어가고 연결되지 않은 vertex는 숫자 '0' 혹은 음수가 들어가게 된다. → 다른 노드와 인접 정점이라면 1, 아니면 0을 넣어준다.그래프에 간선이 많이 존재하는 **밀집 그래프(Dense Graph)**의 경우 사용..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dmLTCk/btsH15xkjSs/V1z1tAePmIr5dWiQoojKJ1/img.png)
학습 키워드- Graph 공부한 내용그래프 Graph 그래프는 객체 또는 개체 간의 관계를 표현하는 자료구조이다.그래프(Graph)는 정점(Vertex)의 집합 V와 간선(Edge)의 집합 E로 구성된 비선형 데이터 구조다.그래프는 노드(Node)와 노드 사이를 연결하는 간선(Edge)으로 구성된다.+ 노드(정점, Vertex) : 일반적으로 개별적인 개체나 개념+ 간선 : 노드 사이의 관계+ 그래프에서 자주 사용하는 용어vertex(정점): 노드(Node)라고도 하며 정점에는 데이터가 저장된다.edge(간선): 링크(arcs)라고도 하며 선을 통해 노드간의 관계를 나타낸다.adjacent vertex(인접 정점): 하나의 정점에서 edge에 의해 직접적으로 연결된 정점을 나타낸다.degree(차수): ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bgGddR/btsHZ4M9cph/cl3MrviHxgxO1MlWAy017K/img.png)
학습 키워드- Heap 공부한 내용힙은 최소 힙(Min Heap), 최대 힙(Max Heap) 두가지가 있다.최소 힙은 루트노드가 최솟값이 되고, 부모노드의 key는 자식노드의 Key보다 작아야 한다는 규칙이 있다.최대 힙은 루트노드가 최댓값이 되고, 부모노드의 Key가 자식 노드의 Key보다 커야 한다는 규칙이 있다.최소 힙(Min Heap)최소 힙(Min Heap)은 부모 노드의 Key가 자식 노드의 Key보다 작거나 같은 완전 이진 트리이다.단지 부모 노드가 자식 노드의 Key보다 작기만 하면 된다.자바에서 최소 힙을 사용하는 것은 Primary Queue를 그대로 사용해주면 된다.PriorityQueue minHeap = new PriorityQueue();Primary Queue는 우선순위 큐로..