Call by value와 Call by reference Call by value와 Call by reference는 메소드 호출 시 인자 값을 어떤식으로 받아오는지에 대한 차이이다. Call by value: 값에 의한 호출 Call by reference: 참조에 의한 호출 Java는 Call...
[Java] Array&List변환
1) List -> Array 변환 case1 - 반복문 이용 ArrayList<String> arrayList = new ArrayList<>(); arrayList.add("Test1"); arrayList.add("Test2"); arrayList.add("Test3"); String[] array = new S...
[IntelliJ] IntelliJ 디버깅
IntelliJ 디버깅 프로그래밍에 있어 디버깅은 필수적인 요소이며 실제 개발할 때에도 가장 중요한 부분이다. 디버깅을 얼마나 잘하느냐에 따라 프로그래머의 실력이 갈릴 정도로 프로그래머에게 있어 가장 중요한 능력이 디버깅 능력이다. 디버깅에 대해서는 여기를 참고하자. 디버깅을 하기 전에 습관적으로 run을 실행하지만, 로컬 개발에선 ...
[Docker] Docker
Docker 도커를 사용해야 하는 이유? 수평적 확장에 편리성 (ex. 테스트 서버에서 운영서버로 작업을 하려면 단순하게 똑같이 서버를 세팅할 필요없이 Dockerfile로만 가능하기에 편리함) 서버의 견고함을 보장하면서도 컨테이너를 실행시킬때 마다 주는 환경변수를 달리 할 수 있어 운영에 있어 유연성을 가짐 여러 대에 배포 할 수 있어 ...
[개발자 블로그] red-black 트리 & AVL 트리
red-black 트리와 AVL트리가 생겨난 배경 이진 탐색 트리는 평균적으로 O(logN)의 삽입, 삭제, 검색 연산속도를 가진다. 이진 검색 트리의 구성 조건은 left < root < right이다. 만약 순차정렬된 데이터가 들어온다면 이진 검색트리는 위의 그림과 같이 편향트리가 될 것이다. 트리의 속도는 트리의 깊...
[개발자 블로그] Tree(트리)
트리란? 계층적인 자료를 표현하기 위한 자료구조 데이터 요소들의 단순한 나열이 아닌 부모-자식 관계의 계층적 구조로 표현 트리는 그래프의 한 종류이며 사이클이 없다. 실제 나무를 거꾸로 한 것과 같은 모양을 하고 있기 때문에 트리라고 부른다. node: 트리를 구성하고 있는 각 요소 Edge(간선): 트리를 구성하기 ...
[개발자 블로그] Binary Tree(이진트리)
이진트리(Binary Tree) 이진트리는 트리를 구성하는 노드들의 최대 차수(degree)가 2인 노드들로 구성되는 트리이다. 이진트리의 레벨i에서 가질 수 있는 최대 노드의 2^i이다.(i>=0) 깊이가 k인 이진트리가 가질 수 있는 최대 노드의 수는 2^k-1이다.(k>=1) 이진트...
[개발자 블로그] Binary Search Tree(이진 탐색 트리)
Binary Search Tree(이진 탐색 트리) 모든 노드가 자신의 왼쪽 서브트리에는 현재노드보다 작은 키값이, 오른쪽 서브트리에는 현재 노드보다 큰 값이 오는 규칙을 만족하는 이진트리 모든 왼쪽 자식들 <= n < 모든 오른쪽 자식들 (모든 노드 n에 대해서 반드시 참) 이진 탐색 트리는 이진 탐색을 쉽게 할 수 있도록...
[개발자 블로그] Balanced Binary Search Tree(균형 이진탐색 트리)
Balanced Binary Search Tree(균형 이진탐색 트리) 이진 탐색트리에 새로운 노드가 삽입이 되면 부모의 노드보다 작은 값은 왼쪽으로 큰 값은 오른쪽으로 추가하면서 서브트리가 계속 구성되어진다. 이진탐색트리의 치명적인 단점은 자료가 많아질수록 트리의 높이(height)가 커지기 때문에 검색에 불리해지고 최악의 경우 (...
[개발자 블로그] Stack(스택)
스택이란? 마지막에 들어온 데이터를 먼저 내보내는 후입선출(LIFO: Last-In-First-Out)을 표현하기 위한 자료구조 예를 들어 접시 쌓기를 예로 들 수 있습니다. 접시를 쌓을 때 위에서부터 차곡차곡 쌓지만 빼낼때는 가장 맨위의(마지막에 들어온) 접시부터 빼내게 됩니다. 스택의 장점 스택에서 데이터를 추가하거나 삭제하는...