├── 소스코드 ├── readme.MD ├── 소스 코드.zip └── 연습문제.zip └── README.md /소스코드/readme.MD: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /소스코드/소스 코드.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjpublic/javarithms/main/소스코드/소스 코드.zip -------------------------------------------------------------------------------- /소스코드/연습문제.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjpublic/javarithms/main/소스코드/연습문제.zip -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 자료구조와 알고리즘을 함께 Java! 2 | 3 | ![MicrosoftTeams-image (3)](https://user-images.githubusercontent.com/21074282/115190093-78a56f80-a122-11eb-87e2-6b332dc80e7d.png) 4 | 5 | - 부제: 퀴즈로 쏙쏙 이해하는 초보자를 위한 입문서 6 | - 저자: 손상우 7 | - 출간/배본가능일: 2021년 4월 23일 8 | - 정가: 25,000원 9 | - 페이지: 340 10 | 11 | ## 구매 링크 12 | 13 | - [yes24](http://www.yes24.com/Product/Goods/99399875?OzSrank=3) 14 | - [교보문고](http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791165920579&orderClick=LEa&Kc=) 15 | - [알라딘](https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=269588719) 16 | - [인터파크](http://book.interpark.com/product/BookDisplay.do?_method=detail&sc.shopNo=0000400000&sc.prdNo=349005628&sc.saNo=003002001&bid1=search&bid2=product&bid3=title&bid4=001) 17 | 18 | 19 | 20 | ## 책 소개 21 | 22 | >자료구조와 알고리즘을 라이브러리를 사용하지 않고 23 | >순수 Java로 배워보자 24 | 25 | 이 책은 자료구조와 알고리즘의 개념과 동작하는 과정을 그림으로 이해를 돕고 다양한 예제 코드를 통해 자세하게 설명한다. 각 챕터가 끝나는 시점에 학습한 내용을 기반으로 한 퀴즈를 제공한다. 26 | 27 | 예비 및 신입 개발자라면 프로그래밍을 하는 과정에서 데이터의 처리 속도와 효율적으로 관리하기 위해 반드시 알아야 하는 지식이다. 개발 과정에서 자주 사용되는 내용을 담고 있으므로 실무에서 어떤 문제를 마주하더라도 데이터 처리를 위한 자료구조 및 알고리즘 선택의 폭이 넓어질 수 있도록 돕는다. 28 | 29 | ## 이 책의 주요 내용 30 | 31 | - 배열과 연결 리스트 32 | - 재귀 함수 33 | - 선형 구조와 스택과 큐 34 | - 비선형 구조의 트리 35 | - Java Collection Framework 36 | 37 | ## 이 책이 필요한 독자 38 | 39 | - Java로 자료구조와 알고리즘의 기초를 쌓고 싶은 개발자 40 | - 자료구조와 알고리즘을 배우고 있는 학생 41 | - 효율적인 데이터 관리에 관심 있는 개발자 42 | 43 | ## 목차 44 | 1 자료구조와 알고리즘 45 | - 1.1 자료구조는 무엇일까요? 46 | - 1.2 우리가 자료구조를 배우는 이유 47 | - 1.3 알고리즘은 무엇일까요? 48 | - 1.4 연습문제 49 | 50 | 2 배열 51 | - 2.1 배열이란? 52 | - 2.2 배열의 선언 53 | - 2.3 배열의 생성과 초기화 54 | - 2.4 배열의 반복문 55 | - 2.5 배열의 복사 56 | - 2.6 다차원 배열 57 | - 2.7 연습문제 58 | 59 | 3 연결 리스트 60 | - 3.1 연결 리스트란? 61 | - 3.2 특징 62 | - 3.3 종류 63 | - 3.4 단일 연결 리스트 구현하기 64 | - 3.5 이중 연결 리스트 구현하기 65 | - 3.6 원형 단일 연결 리스트 구현하기 66 | - 3.7 연습문제 67 | 68 | 4 재귀(Recursive) 69 | - 4.1 재귀란? 70 | - 4.2 팩토리얼(Factorial) 71 | - 4.3 피보나치 수열(Fibonacci numbers) 72 | - 4.4 하노이의 탑(Tower of Hanoi) 73 | - 4.5 연습문제 74 | 75 | 5 선형 구조 76 | - 5.1 스택(Stack) 77 | - 5.2 큐(Queue) 78 | - 5.3 원형 큐(Circle Queue) 79 | - 5.4 데크(Deque) 80 | 81 | 6 비선형 구조 82 | - 6.1 트리(Tree) 83 | - 6.2 힙 트리(heap tree) 84 | 85 | 7 버블 정렬(Bubble Sort) 86 | - 7.1 동작 방식 87 | - 7.2 버블 정렬 구현하기 88 | - 7.3 연습문제 89 | 90 | 8 선택 정렬(Selection Sort) 91 | - 8.1 동작 방식 92 | - 8.2 선택 정렬 구현하기 93 | - 8.3 연습문제 94 | 95 | 9 삽입 정렬(Insertion Sort) 96 | - 9.1 동작 방식 97 | - 9.2 삽입 정렬 구현하기 98 | - 9.3 연습문제 99 | 100 | 10 셸 정렬(Shell Sort) 101 | - 10.1 동작 방식 102 | - 10.2 셸 정렬 구현하기 103 | - 10.3 연습문제 104 | 105 | 11 병합 정렬(Merge Sort) 106 | - 11.1 동작 방식 107 | - 11.2 병합 정렬 구현하기 108 | - 11.3 연습문제 109 | 110 | 12 퀵 정렬(Quick Sort) 111 | - 12.1 동작 방식 112 | - 12.2 퀵 정렬 구현하기 113 | - 12.3 연습문제 114 | 115 | 13 Collections Framework 116 | - 13.1 Collection Framework란 117 | - 132 List 118 | - 13.3 Map 119 | - 13.4 Set 120 | 121 | ## 출판사 리뷰 122 | 123 | 빠르게 발전하는 정보통신 분야에서 개발에 필요한 부분 중 크게 변하지 않는 것이 있습니다. 데이터를 효율적으로 관리하고 활용하기 위한 자료구조와 알고리즘입니다. 시간이 흘러 더 좋은 자료구조와 알고리즘이 나올 수 있지만, 기초적인 부분을 이해하고 있다면 새로운 자료구조 또는 알고리즘이 나오더라도 어렵지 않게 이해할 수 있고 용도에 맞게 사용할 수 있습니다. 124 | 125 | 자료구조와 알고리즘을 처음 입문하는 독자분들은 챕터를 차례대로 학습하여 본문을 실습할 수 있도록 예제 코드를 구성하였습니다. 예제 코드만으로 어떻게 동작하고 짜였는지 알 수 있겠지만 프로그램을 시각화한 이미지를 먼저 학습한다면 쉽게 이해하는 데 도움이 될 것으로 생각합니다. 126 | 127 | 그림으로 쉽게 이해할 수 있게 만들었으며 퀴즈를 통해 개념을 이해하게끔 만들어져 있어 쉽게 이해할 수 있는 책입니다. 코딩의 중요성이 높아지는 만큼 이 책을 통해 나만의 코드로 알고리즘을 만들어 보시기 바랍니다. 128 | 129 | ## 오탈자 제보 및 문의 사항 130 | 131 | - 깃허브 리파지토리 [issue 생성](https://github.com/bjpublic/javarithms/issues/new) 132 | --------------------------------------------------------------------------------