자료구조 2

List 자료구조 선택하기 (LinkedList, ArrayList)

List 자료 구조 선택하기 (Java) ArrayList와 LinkedList 중 어떤 자료구조를 선택하면 좋을까? 이중 연결 리스트 구현은 ArrayList 클래스보다 시작에 요소를 추가하고 삭제하는 연산이 좋다. 끝에 요소를 추가하고 제거하는 연산은 ArrayList와 동일하다. 따라서 ArrayList 클래스의 유일한 이점은 get과 set 메서드이다. 연결 리스트는 심지어 이중 연결 리스트일 때도 선형 시간이 필요하다. 응용 프로그램의 실행 시간이 get과 set 메서드에 의존한다면 ArrayList 클래스가 좋은 선택이다. 실행 시간이 시작이나 끝 근처에 요소를 추가하거나 제거하는 연산에 의존한다면 LinkedList 클래스가 좋다. 하지만 이러한 추천은 큰 문제의 증가 차수에 기반을 두고 있..

소수의 나열

어떤 정수 n에 대하여 아래의 조건을 만족하면 소수임을 알 수 있다. 2부터 n-1 까지의 어떤 정수로도 나누어 떨어지지 않는다. 그래서 처음 아래와 같은 프로그램을 작성한다면, 나눗셈을 하는 횟수가 너무 많아진다. 책에서는 위와 같은 문제를 해결하기 위해 아래와 같은 코드를 제시했다. 아래 알고리즘은 배열을 이용했고, 정수 n 이 소수이려면, 2부터 n-1 까지의 어떤 소수로도 나누어 떨어지지 않는다. 는 조건을 만족해야 한다는 아이디어를 바탕으로 하고 있습니다. package chap02; // 1,000 이하의 소수를 열거(버전 2) class PrimeNumber2 { public static void main(String[] args) { int counter = 0; // 나눗셈의 횟수 int..