Do it! 자료구조 배우는 알고리즘 : 자바 편 pdf

Do it! 자료구조와 함께 배우는 알고리즘 입문: 자바 편 시바타 보요 pdf 다운로드를 무료로 제공합니다 자료구조와 알고리즘은 국내외 IT 기업의 면접과 코딩 테스트에서 중요한 역량입니다. 이는 단순히 개념만 이해한다고 해서 바로 실전에 사용하기가 힘듭니다

관련 교재 pdf 모음

스마트한 QGIS 활용서 pdf 다운

책 소개

‘팩토리얼을 재귀 함수 호출로 구현하세요.’, ‘5분 안에 큐를 구현하세요.’라는 면접 질문 앞에서 얼어 버리는 당신! 머리로는 알겠는데 코드로 표현하지 못한다면? 바로 이 책이 필요합니다! 저자의 친절한 설명과 217개의 도해를 보며 개념을 정확하게 익히세요. 그런 다음 102개의 실습 예제는 손으로 코드를 입력하고, 프로그램을 실행하면서 어떻게 알고리즘이 동작하는지 직접 확인해 보세요. 눈으로 읽고 코드를 한 줄씩 입력하다 보면 어느새 자료구조와 알고리즘은 여러분의 것이 됩니다. 자료구조와 알고리즘은 대부분의 사람이 프로그래밍 언어를 공부할 때 어려워하는 분야입니다. 왜 그럴까요? 그 이유는 알아야 할 내용이 엄청 많기 때문입니다. 자료구조와 알고리즘에서 꼭 알아야 할 핵심 개념을 순서대로 공부하면 어렵지 않습니다. 이 책의 저자는 공학교육협회 저작상을 수상한 프로그래밍 교육서의 대가입니다. 수십 년간 노하우를 축적한 시바타 보요 교수의 설명을 따라가다 보면 자료구조와 알고리즘의 기초를 탄탄하게 쌓을 수 있습니다. 코드만 보면 어려운 내용도 그림으로 보면 쉽게 이해할 수 있습니다. 이 책은 실습 예제 코드의 핵심 내용을 그림과 표를 이용해 설명했습니다. 코드에 매겨 놓은 번호나 기호에 따라 설명과 그림도 차례로 표현해서 코드의 실행 순서를 눈으로 확인할 수 있습니다. 그리고 개념을 설명할 때도 그림을 적극 활용해서 이해하기 어렵고 딱딱하기만 했던 자료구조와 알고리즘의 개념이 확실하게 자리 잡힐 것입니다.

Do it! 자료구조 배우는 알고리즘

Do it! 자료구조 알고리즘 :자바 pdf

01 기본 알고리즘
—————
__01-1 알고리즘이란?
____세 값의 최댓값 구하기
____[보충수업 1-1] 숫자와 문자열 입력하기 1
____[보충수업 1-2] 숫자와 문자열 입력하기 2
____[보충수업 1-3] 메서드의 반환값과 메서드
____호출식의 평가
____[보충수업 1-4] 세 값의 대소 관계와 중앙값
____조건 판단과 분기
____[보충수업 1-5] 연산자와 피연산자
____순서도의 기호

__01-2 반복
____1부터 n까지 정수의 합 구하기
____[보충수업 1-6] for 문 자세히 알아보기
____양수만 입력받아 1부터 n까지의 합 구하기
____반복 과정에서 조건 판단하기 1
____반복 과정에서 조건 판단하기 2
____반복 과정에서 조건 판단하기 3
____[보충수업 1-7] 논리 연산과 드모르간 법칙
____다중 루프 다루기
____[보충수업 1-8] 카운터용 변수의 이름은 왜 i나 j일까요?

—————
02 기본 자료구조
—————
__02-1 배열이란?
____자료구조 정의하기
____배열 다루기
____배열 요소의 최댓값 구하기
____[보충수업 2-1] 값을 대입하지 않은 지역 변수
____[보충수업 2-2] 메서드의 매개변수로 배열 사용하기
____[보충수업 2-3] 난수의 생성
____배열 요소를 역순으로 정렬하기
____[보충수업 2-4] 전위형 증가 연산자와 후위형 증가 연산자
____기수 변환하기
____[보충수업 2-5] 기수 살펴보기
____소수 나열하기
____[보충수업 2-6] 배열에 관련된 세부 규칙

__02-2 클래스란?
____클래스 다루기
____클래스에서 배열 구현하기
____[보충수업 2-7] 클래스 더 알아보기

03 검색 알고리즘
__03-1 검색 알고리즘이란?
____검색과 키 살펴보기
____배열에서 검색하기

__03-2 선형 검색
____선형 검색 알아보기
____[보충수업 3-1] 형 import 선언
____보초법으로 선형 검색 구현하기

__03-3 이진 검색
____이진 검색 알아보기
____복잡도 구하기
____[보충수업 3-2] java.lang 패키지의 자동 import
____Arrays.binarySearch에 의한 이진 검색
____[보충수업 3-3] 클래스 메서드와 인스턴스 메서드
____[보충수업 3-4] 자연 정렬
____[보충수업 3-5] 제네릭스

—————
04 스택과 큐
—————
__04-1 스택이란?
____스택 알아보기
____스택 만들기

__04-2 큐란?
____큐 알아보기
____배열로 큐 만들기
____링 버퍼로 큐 만들기
____[보충수업 4-1] 링 버퍼의 활용

—————
05 재귀 알고리즘
—————
__05-1 재귀 알고리즘의 기본
____재귀란?
____팩토리얼 구하기
____유클리드 호제법

__05-2 재귀 알고리즘 분석
____재귀 알고리즘 분석하기
____재귀 알고리즘의 비재귀적 표현
____메모화

__05-3 하노이의 탑
____하노이의 탑 알아보기

__05-4 8퀸 문제
____8퀸 문제란?
____퀸 배치하기
____분기 조작
____분기 한정법
____8퀸 문제를 해결하는 프로그램 만들기

—————
06 정렬 알고리즘
—————
__06-1 정렬 알고리즘이란?
____정렬이란?

__06-2 버블 정렬
____버블 정렬 알아보기

__06-3 단순 선택 정렬
____단순 선택 정렬 알아보기

__06-4 단순 삽입 정렬
____단순 삽입 정렬 알아보기

__06-5 셸 정렬
____단순 삽입 정렬의 특징 살펴보기
____셸 정렬 알아보기

__06-6 퀵 정렬
____퀵 정렬 살펴보기
____배열을 두 그룹으로 나누기
____퀵 정렬 구현하기
____[보충수업 6-1] 퀵 정렬에서 배열을 나누는 과정 출력하기
____비재귀적인 퀵 정렬 구현하기

__06-7 병합 정렬
____정렬을 마친 두 배열의 병합 살펴보기
____병합 정렬 구현하기
____Arrays.sort로 퀵 정렬과 병합 정렬하기

__06-8 힙 정렬
____힙이란?
____힙 정렬 알아보기
____배열을 힙으로 만들기

__06-9 도수 정렬
____도수 정렬 알아보기

—————
07 문자열 검색
—————
__07-1 브루트-포스법
____문자열 검색이란?
____브루트-포스법 알아보기
____[보충수업 7-1] 문자열과 String 클래스
____String.indexOf 메서드로 문자열 검색하기

__07-2 KMP법
____KMP법 알아보기

__07-3 보이어·무어법
____보이어·무어법 알아보기
____[보충수업 7-2] 문자열 검색 알고리즘의 시간 복잡도와 실용성

—————
08 리스트
—————
__08-1 리스트란?
____리스트 살펴보기
____배열로 선형 리스트 만들기

__08-2 포인터로 연결 리스트 만들기
____포인터로 연결 리스트 만들기
____포인터로 연결 리스트를 사용하는 프로그램 만들기
____[보충수업 8-1] toString 메서드

__08-3 배열 커서로 연결 리스트 만들기
____배열 커서로 연결 리스트 만들기
____배열의 비어 있는 요소 처리하기
____프리 리스트 살펴보기
____배열 커서로 연결 리스트를 사용하는 프로그램 만들기

__08-4 원형 이중 연결 리스트 만들기
____원형 리스트 살펴보기
____이중 연결 리스트 살펴보기
____원형 이중 연결 리스트 만들기
____원형 이중 연결 리스트를 사용하는 프로그램 만들기

—————
09 트리
—————
__09-1 트리
____트리란?
____순서 트리와 무순서 트리 살펴보기
____순서 트리 탐색 살펴보기

__09-2 이진트리와 이진검색트리
____이진트리란?
____완전이진트리란?
____이진검색트리 살펴보기
____이진검색트리 만들기
____[보충수업 9-1] 균형검색트리
____이진검색트리를 사용하는 프로그램 만들기
____[보충수업 9-2] API 문서 참조하기
____[보충수업 9-3] Object 클래스 이해하기

—————
10 해시
—————
__10-1 해시법
____정렬된 배열에 새로운 값 추가
____해시법
____충돌
____체인법
____[보충수업 10-1] 해시와 해시 함수 알아보기
____[보충수업 10-2] 열거 살펴보기
____오픈 주소법

Leave a Comment