목차
Chapter 14 Programming (5, 6, 9, 10)
본문내용
에 나오는 자료 구조이다. 스택은 1차원 배열과 top이라는 정수 변수를 이용하여서 간단히 구현 할 수 있다. 타입 매개 변수를 사용하여서 어떤 타입도 저장할 수 있는 스택을 설계하여 보라.
6. 큐(queue)는 먼저 들어간 데이터가 먼저 나오는 자료 구조이다. 큐는 LinkedList를 이용하면 간단하게 구현할 수 있다. 클래스의 이름을 LinkedListQueue라고 하고 큐에 데이터를 추가하는 메소드를 enqueue()라고 하고 큐에서 데이터를 삭제하는 메소드를 dequeue()로 구현하라. enqueue()는 LinkedList의 addLast()메소드를 이용하면 쉽게 구현할 수 있고 dequeue()는 removeFirst()를 이용하면 쉽게 구현이 가능하다. 타입 매개 변수 T를 사용하여서 어떤 타입의 데이터도 저장할 수 있도록 구현하라.
9. 소수를 구하는데 고대의 그리스 수학자 에라스토테네스에 의하여 개발된 에라스토스테네스의 체(Sieve of Erastosthenes)라는 알고리즘 이 있다. 이 알고리즘은 정해진 범위안을 소수를 찾아주는 비교적 간단한 방법이다. 처음에는 리스트 안의 모든 정수가 소수라고 가정한다. 알고리즘은 가장 작은 소수인 2부터 시작한다. 상식적으로 2의 배수는 소수가 아닌 것이 확실하다. 정해진 범위 안에서 2의 배수를 모두 찾아서 리스트에서 제거한다. 즉 2, 4, 6, 8, .. 정수는 소수에서 제외된다. 다시 3의 배수(3, 6, 9, ...)를 찾아서 리스트에서 제거한다. 정해진 범위에 대하여 이와 같은 절차를 완료한 후에도 리스트에 남아 잇는 원소가 바로 소수가 된다. 이 알고리즘을 이용하여 2부터 100사이ㅢ 소수를 찾아보라. 2부터 100까지의 값으로 초기화된 LinkedList를 사용하라. 리스트 안에 남아 있는 정수를 스캔하는데 Iterator를 사용하라.
10. 로또 번호를 생성하는 프로그램을 작성하여 보자. 로또는 1부터 45까지의 숫자중에서 6개를 선택한다. 로또 번호는 중복되면 안 된다. 따라서 집합을 나타내는 HashSet을 사용하여서 중복을 검사하여 보자. Math.random()을 사용하면 0부터 1사이의 난수를 생성할 수 있다. 0부터 1사이의 난수가 생성되면 여기에 45를 곱하고 1을 더하면 1부터 45사이의 정수를 생성할 수 있다. 생성된 정수는 HashSet의 contains()메소드를 이용하여서 이미 선택된 정수인지를 검사한다.
6. 큐(queue)는 먼저 들어간 데이터가 먼저 나오는 자료 구조이다. 큐는 LinkedList를 이용하면 간단하게 구현할 수 있다. 클래스의 이름을 LinkedListQueue라고 하고 큐에 데이터를 추가하는 메소드를 enqueue()라고 하고 큐에서 데이터를 삭제하는 메소드를 dequeue()로 구현하라. enqueue()는 LinkedList의 addLast()메소드를 이용하면 쉽게 구현할 수 있고 dequeue()는 removeFirst()를 이용하면 쉽게 구현이 가능하다. 타입 매개 변수 T를 사용하여서 어떤 타입의 데이터도 저장할 수 있도록 구현하라.
9. 소수를 구하는데 고대의 그리스 수학자 에라스토테네스에 의하여 개발된 에라스토스테네스의 체(Sieve of Erastosthenes)라는 알고리즘 이 있다. 이 알고리즘은 정해진 범위안을 소수를 찾아주는 비교적 간단한 방법이다. 처음에는 리스트 안의 모든 정수가 소수라고 가정한다. 알고리즘은 가장 작은 소수인 2부터 시작한다. 상식적으로 2의 배수는 소수가 아닌 것이 확실하다. 정해진 범위 안에서 2의 배수를 모두 찾아서 리스트에서 제거한다. 즉 2, 4, 6, 8, .. 정수는 소수에서 제외된다. 다시 3의 배수(3, 6, 9, ...)를 찾아서 리스트에서 제거한다. 정해진 범위에 대하여 이와 같은 절차를 완료한 후에도 리스트에 남아 잇는 원소가 바로 소수가 된다. 이 알고리즘을 이용하여 2부터 100사이ㅢ 소수를 찾아보라. 2부터 100까지의 값으로 초기화된 LinkedList를 사용하라. 리스트 안에 남아 있는 정수를 스캔하는데 Iterator를 사용하라.
10. 로또 번호를 생성하는 프로그램을 작성하여 보자. 로또는 1부터 45까지의 숫자중에서 6개를 선택한다. 로또 번호는 중복되면 안 된다. 따라서 집합을 나타내는 HashSet을 사용하여서 중복을 검사하여 보자. Math.random()을 사용하면 0부터 1사이의 난수를 생성할 수 있다. 0부터 1사이의 난수가 생성되면 여기에 45를 곱하고 1을 더하면 1부터 45사이의 정수를 생성할 수 있다. 생성된 정수는 HashSet의 contains()메소드를 이용하여서 이미 선택된 정수인지를 검사한다.
추천자료
신앙생활 가이드 문제풀이
데이타베이스 14장 문제풀이
고등 국어(상) 교과서 전체지문+교사용지도서+문제풀이
데이터통신과 네트워킹 3판 7장 연습문제풀이
명품 C언어 챕터별 과제 문제풀이 및 소스 주석포함
컴통과인터넷문제풀이 청대 족보
“미국발 금융위기 한국을 덮치다” 요약 및 문제풀이
P C Sen 전기기기공학 1장 연습문제풀이
사회복지정책론 중간고사 문제풀이(자료첨부)
컴구1-2장연습문제풀이[1]
팀장365일 - Top 퍼포먼스 팀장 리더십-[과제1] 문제풀이
성공의 맥을 찾아주는 유통 마케팅 [과제1] 문제풀이
고객가치 혁신을 위한 성공 CRM 전략 [과제1] 문제풀이
소개글