Do it! 자료구조와 함께 배우는 알고리즘 입문 (자바 편) 학습 목차 기반으로 생성한 폴더/문서 구조입니다. 목차 01 기본 알고리즘 01-1 알고리즘이란 세 값의 최댓값 조건 판단과 분기 순서도의 기호 01-2 반복 1부터 n까지의 정수 합 구하기 양수만 입력하기 구조적 프로그래밍 다중 루프 직각 이등변 삼각형 출력 02 기본 자료구조 02-1 배열 자료구조 배열 배열 요소의 최댓값 구하기 배열 요소를 역순으로 정렬하기 두 배열의 비교 기수 변환 소수의 나열 다차원 배열 한 해의 경과 일 수를 계산하는 프로그램 다차원 배열의 내부 02-2 클래스 클래스란 클래스의 배열 03 검색 03-1 검색 알고리즘 검색과 키 배열에서 검색하기 03-2 선형 검색 선형 검색 보초법 03-3 이진 검색 이진 검색 복잡도 Arrays.binarySearch에 의한 이진 검색 04 스택과 큐 04-1 스택 스택이란 스택 만들기 04-2 큐 큐란 배열로 큐 만들기 링 버퍼로 큐 만들기 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 퀵 정렬 퀵 정렬 살펴보기 배열을 두 그룹으로 나누기 퀵 정렬 비재귀적인 퀵 정렬 06-7 병합 정렬 정렬을 마친 배열의 병합 병합 정렬 Arrays.sort로 퀵 정렬과 병합 정렬하기 06-8 힙 정렬 힙이란 힙 정렬 배열을 힙으로 만들기 06-9 도수 정렬 도수 정렬 07 집합 07-1 집합 집합과 요소 부분집합과 진부분집합 집합의 연산 07-2 배열로 집합 만들기 배열로 집합 만들기 08 문자열 검색 08-1 브루트-포스법 문자열 검색이란 브루트-포스법 String.IndexOf 메서드로 문자열 검색하기 08-2 KMP법 KMP법 08-3 Boyer-Moore법 Boyer-Moore법 09 리스트 09-1 선형 리스트 선형 리스트란 배열로 선형 리스트 만들기 09-2 포인터로 연결 리스트 만들기 포인터로 연결 리스트 만들기 연결 리스트를 사용한 프로그램 09-3 커서로 연결 리스트 만들기 커서로 연결 리스트 만들기 배열의 비어 있는 요소 처리하기 프리 리스트 09-4 원형 이중 연결 리스트 원형 리스트 이중 연결 리스트 원형 이중 연결 리스트 10 트리 10-1 트리 트리란 순서 트리 탐색 10-2 이진트리와 이진검색트리 이진트리 완전이진트리 이진검색트리 이진검색트리 만들기 이진검색트리를 이용하는 프로그램 11 해시 11-1 해시법 정렬된 배열에 새로운 값 추가하기 해시법 충돌 체인법 오픈 주소법