본문 바로가기

4

우선순위 큐(Priority Queue) www.youtube.com/watch?v=AjFlp951nz0&list=WL&index=26 우선순위 큐는 우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조 구현 방법 1) 리스트를 이용하여 구현 그냥 차례대로 쭉 넣은 다음에 꺼낼 때 하나하나 확인해서 값이 큰 거 출력 2) 힙을 이용하여 구현 단순히 N개의 데이터를 힙에 넣었다가 모두 꺼내는 작업은 정렬과 동일 (힙 정렬) 삽입 시간 삭제 시간 리스트 O(1) O(N) 힙(Heap) O(logN) O(logN) 힙은 완전 이진 트리 자료구조의 일종 루트 노드로부터 시작해서 왼쪽 자식 노드, 오른쪽 자식 노드 순서대로 데이터가 차례대로 삽입되는 트리 힙에서는 항상 루트 노드를 제거한다. 최소 힙(Min Heap) 루트 노드가 가장 작은 값을 .. 2020. 11. 24.
[Java/프로그래머스/힙(Heap)] 이중우선순위큐 문제 programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 코드 woovictory.github.io/2018/03/19/JavaCollectionPriorityQueue/ [Java] Priority Queue 이번에는 Priority Queue에 대해서 공부를 해보았습니다. woovictory.github.io 자바의 PriorityQueue는 우선순위가 가장 작은 값을 출력하는 함수만 있기 때문에 이를 어떻게 다뤄서 최댓값을 출력할지 고민해보면 된다. 나는 마지막 원소를 제외한 모든 원소를 ArrayList에 담아놓고, 마지막 원소도 삭제한 뒤에 ArrayList 안의 값들을 다시 pq에 옮겨줬다. .. 2020. 10. 27.
[Java/프로그래머스/힙(Heap)] 더 맵게 문제 programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 코드 모든 원소가 K보다 커야 한다고 해서 for문으로 검사를 했었는데, 생각해보니 우선순위 큐라서 제일 앞의 원소만 K보다 큰지 확인해주면 됐었다. import java.util.PriorityQueue; class Solution { public int solution(int[] scoville, int K) { //int answer = 0; Pri.. 2020. 10. 16.
프로세스 & 스레드 (Process & Thread) 프로세스 : 프로그램을 메모리 상에서 실행중인 작업 스레드 : 프로세스 안에서 실행되는 여러 흐름 단위 프로세스 Process 기본적으로 프로세스마다 최소 1개의 스레드 소유한다. (메인 스레드 포함) 프로그램이 CPU에 의해 실행 → 프로세스가 생성, 메모리에 프로세스 주소 공간이 할당된다. (프로세스는 각각 별도의 주소공간을 독립적으로 할당한다.) Code Segment : 프로그램 명령/코드 자체를 구성하는 메모리 영역이다. Data Segment : 초기화된 데이터/전역변수, 정적변수, 배열 등 Heap Segment : 동적 할당 시 사용된다. (new(), mallock() 등) Stack Segment : 임시 메모리 영역/함수, 지역 변수, 매개 변수, 리턴 값 왜 구역을 나눌까? 최대한 .. 2020. 9. 5.