알고리즘 4

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..

반복

더보기 5월 30일부터 책 을 따라가며 블로그에 내용을 정리할 것이다. 비전공자로서 기본 전공 지식이 부족하고 여러 매체르 통해 살펴본 결과 자료구조와 알고리즘이 개발자에게 있어 필수 소양이란 것을 알게 되었다. 그리고 현재 가장 익숙한 언어가 자바이기 때문에 이 책을 선택했다. 매일 조금씩, 꾸준히 공부해서 책에서 제안하는 16주 완성 코스를 따라가 보려고 한다. 01-2 반복 반복: 어떤 조건이 성립하는 동안 처리를 반복하여 실행하는 것은 반복 구조라 하여 일반적으로 루프라고 부른다. while문 반복 실행 전에 반복을 계속할지 판단하고, 이런 구조를 '사전 판단 반복 구조'라고 부른다. 제어식의 평가값이 0이 아니면 프로그램 명령문이 반복된다. for문 반복: for(초기화 부분; 제어식; 업데이트..

기본 알고리즘

더보기 5월 30일부터 책 을 따라가며 블로그에 내용을 정리할 것이다. 비전공자로서 기본 전공 지식이 부족하고 여러 매체르 통해 살펴본 결과 자료구조와 알고리즘이 개발자에게 있어 필수 소양이란 것을 알게 되었다. 그리고 현재 가장 익숙한 언어가 자바이기 때문에 이 책을 선택했다. 매일 조금씩, 꾸준히 공부해서 책에서 제안하는 16주 완성 코스를 따라가 보려고 한다. 00 책 정보 http://www.yes24.com/Product/Goods/60547893?Acode=101 Do it! 자료구조와 함께 배우는 알고리즘 입문 자바 편 IT 기업, 모든 시험에서 기초가 되는 자료구조와 알고리즘의 개념을 한 권에 모두 담았다!국내 IT 기업의 면접, 코딩 시험에서 중요하게 생각하는 역량 가운데 하나는 자료구조..