본문 바로가기

자바 자료구조 & 알고리즘/자바로 배우는 핵심 자료구조와 알고리즘

(3)
자바로 배우는 핵심 자료구조와 알고리즘 : 3장 ArrayList 클래스 3.1. MyArrayList 메서드 분류하기 상수시간 get 메서드 @Override public T get(int index) { if (index = size) { throw new IndexOutOfBoundsException(); } return array[index]; } get 메서드에 있는 모든 것은 상수 시간이다. set 메서드 @Override public T set(int index, T element) { // get(index); // T old = array[index]; // 내가 했던 것... T old = get(index); array[index] = element; return old; } 명시적으로 인덱스의 유효성 검증을 하지 않고 get 메서..
자바로 배우는 핵심 자료구조와 알고리즘 : 2장 알고리즘 분석 그렇다면 언제 ArrayList와 LinkedList 중 어떤 것을 사용하는 것이 더 좋은 선택일까? 어떤 프로그램에 어떤 클래스를 사용하는 것이 더 좋을 지 결정할 때 두 경우의 효율성을 계산하기 위해서 두 가지 방법을 사용할 수 있다. 1. 프로파일링 (Profiling) 둘 다 시도해보고 각각 얼마나 걸리는 지 확인 단점 ! 둘 다 구현해봐야한다. 결과가 사용하는 컴퓨터의 성능에 의존한다. 결과가 문제 크기나 입력으로 사용하는 데이터에 의존한다. 2. 알고리즘 분석 (Analysis of algoritms) 구현하지 않고 알고리즘을 비교하는 방법 첫번째 가정 - 하드웨어의 세부사항을 다루지 않기 위해 알고리즘을 이루는 기본 연산을 식별하여 알고리즘에 필요한 연산 수를 센다. 두번째 가정 - 입력 데..
자바로 배우는 핵심 자료구조와 알고리즘 : 1장 인터페이스 내가 공부하고 있는 것에 비해 많이 이르지만 이 책을 공부해보려고 한다. http://www.yes24.com/Product/Goods/61198657 자바로 배우는 핵심 자료구조와 알고리즘 자료구조와 알고리즘을 활용하여 간단한 웹 검색 엔진 만들기이 책은 컴퓨터과학을 공부하거나 기술 인터뷰를 준비하는 소프트웨어 개발자를 위한 실용적인 책입니다. 자료구조와 알고리즘을 www.yes24.com 1.1. 리스트가 두 종류인 이유 자바의 List 인터페이스에는 ArrayList와 LinkedList 두 가지 리스트의 구현을 제공했다. 그 이유는 무엇이며, 어떤 때에 어느 것을 선택해야할지에 대한 답을 찾을 것이다. 이를 위해서 이들의 동작 방법과 장단점을 배울 것이다. 1.2. 자바 interface 자바의 ..