일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재귀
- recursive
- hadoop
- linux
- sort
- big data
- Data Structure
- 빅데이터
- algorithm
- 자바
- redhat
- docker
- 설치
- 자료구조
- 아마존
- Redshift
- 리눅스
- rhcsa
- 레드햇
- Spring
- storage
- Amazon
- 스토리지
- 하둡
- data
- 도커
- 스프링
- 알고리즘
- java
- AWS
- Today
- Total
목록Programming (17)
Developer MJ
Priority Queue(우선순위 큐) push, pop, show import java.util.Scanner; class Item { int data; Item(int _data) { data = _data; } } public class PriorityQueue { final static int MAX_QUEUE_SIZE = 100; static int heapSize = 0; static Item[] heap = new Item[MAX_QUEUE_SIZE]; static void initHeap() { heapSize = 0; } static boolean isFull() { if (heapSize + 1 > MAX_QUEUE_SIZE) { System.out.println("PQ is full..
더블 링크드 리스트 insert, extract ( remove ), show 구현 import java.util.Scanner; class Node { int data; Node prev; Node next; Node(int _data) { data = _data; } static void insert(Node _head, Node _node) { Node next = _head.next; _head.next = _node; _node.prev = _head; if (next != null) { next.prev = _node; _node.next = next; } } static Node extract(Node _head, int _data) { Node current = _head.next; whi..

대용량 데이터에서 일부 데이터를 빠르게 자주 읽는 OLTP성 작업은 원하는 데이터에 얼마나 빠르게 접근하는 지가 성능을 좌우한다. 그래서 SQL을 튜닝하여 불 필요한 데이터 스캔을 막음으로써 데이터 엑세스 속도를 높여 성능을 개선할 필요가 있다. 이에 대해 공부한 내용을 옵티마이저, 인덱스, 조인 순서로 정리하고자 한다. 참고로 대용량 데이터 가끔 Full Scan하는 경향을 띄는 OLAP 처리의 경우 튜닝의 주요 포인트가 Hash Join, 병렬처리 등이기 때문에 SQL 튜닝은 큰 효율을 발휘하지 못한다. SQL 옵티마이저 옵티마이저(Optimizer)는 SQL을 가장 빠르고 효율적으로 수행할 최적(최저비용)의 처리경로를 생성해 주는 DBMS 내부의 핵심엔진이다. 사용자로부터 입력 받은 SQL문장과 데..
DFS(깊이 우선탐색) preorder inorder postorder BFS(너비 우선탐색) struct Node{ int data; Node* left; Node* right; }; Node* insert(Node* root ,int data){ if(root == nullptr) { root = new Node(); root->data = data; root->left = root->right = nullptr; } else if( data data) { root->left = insert(root->left, data); } else { root->right = insert(root->right, data); } return root; } void dfs_pre(Node* root) { if(ro..
BST(이진 탐색 트리 : Binary Search Tree) 삽입, 검색 최소값, 최대값, 노드 갯수, 트리 높이 struct Node{ int data; Node* left; Node* right; }; int findMin(Node* root) { if(root == nullptr) { return -1; } else if (root->left == nullptr) { return root->data; } else { return findMin(root->left); } } int findMax(Node* root) { if(root == nullptr) { return -1; } else if (root->right == nullptr) { return root->data; } else { ret..
기준키(pivot)를 기준으로 작거나 같은 값을 지닌 데이터는 앞으로, 큰 값을 지닌 데이터는 뒤로 가도록 정렬 import java.util.Scanner; class Solution { static int input[]; static int num; static void quickSort(int first, int last) { int temp; if (first < last) { int pivot = first; int i = first; int j = last; while (i < j) { while (input[i] input[pivot]) { j--; } if (i < j) { temp = input[i]; input[i] = input[j]; input[j] = temp; } } temp =..