Algorithm/이론

Algorithm/이론

TreeSet

TreeSet은 HashSet과 마찬가지로 Set 인터페이스 구현한 클래스로써 객체를 중복해서 저장할 수 없고 저장 순서가 유지되지 않는다는 Set의 성질을 그대로 갖고 있다. 하지만 HashSet과는 다르게 TreeSet은 이진 탐색 트리(BST)구조로 이루어져있다. BST는 추가, 삭제에는 시간이 좀 더 걸리지만 정렬, 검색에 높은 성능을 보이는 자료구조이다. 레드-블랙 트리(Red-Black Tree) TreeSet은 이진탐색트리 중에서도 성능 향상시킨 레드-블랙 트리로 구현되어 있다. 일반적으로 이진 탐색 트리는 트리의 높이 만큼 시간이 걸리는데 데이터의 값이 트리에 잘 분산되어 있으면 효율성에 큰 문제가 없지만 데이터의 들어올 때 값이 편향되게 들어올 경우 한쪽으로 크게 치우쳐진 트리가 되어 굉..

Algorithm/이론

Two Pointer Algorithm

투 포인터 알고리즘 1차원 배열에서 각자 다른 원소를 가리키고 있는 2개의 포인터를 조작해가며 원하는 값 찾을 때까지 탐색하는 알고리즘 리스트에 순차적으로 접근해야 할 때 두 포인트의 위치를 기록하며 처리 처음은 start = end = 0 두 포인터는 항상 start

Algorithm/이론

시간 복잡도

시간 복잡도 : 주어진 문제를 해결하기 위한 연산 횟수 유형 빅 -오메가 : 최선일 때의 연산 횟수를 나타낸 표기법 빅 -세타 : 보통일 때의 연산 횟수를 나타낸 표기법 빅 -오 : 최악일 때의 연산 횟수를 나타낸 표기법 (코테에서는 항상 빅오를 염두에 두어야함) public class timeComplexityExample1 { public static void main(String[] args) { //1~100 사이 값 랜덤 선택 int findNumber = (int)(Math.random() * 100); for(int i = 0; i

챛채
'Algorithm/이론' 카테고리의 글 목록