Recent Posts

[자바/동시성] CAS와 Atomic 클래스

자바에서 기본적으로 래퍼(wrapper) 클래스는 불변(immutable)이다. 래퍼 클래스를 한 번 인스턴스화 한 이후에는 값을 변경할 수 없다. 래퍼 클래스를 메서드의 파라미터나 메서드 블록의 로컬 변수로 선언하여 사용하는 경우 불변성에 대해서만 주의하면 사용에 큰 문제가 되지...

[자료 구조/알고리즘] 이진 탐색 트리

이진 트리(binary tree)란 각 노드(node)에 최대 두 개의 자식(하위) 노드가 있는(모든 노드의 차수가 2 이하인) 트리 자료 구조이다. 이진 탐색 트리(binary search tree)란 다음 두 특성을 갖는, 정렬된(ordered, sorted) 이진 트리를 말한...

[자료 구조] 컬렉션

컬렉션(collection)이란 데이터(요소)를 그룹화한 것으로 추상 자료형(ADT, abstract data type)을 의미하며, 자료 구조의 구체적인 구현을 규정 짓지는 않는다. 일반적으로 컬렉션의 예로는 리스트(list), 셋(set), 큐(queue), 스택(stack),...