- 기본 카테고리

siaction
- 작성일
- 2021.6.25
Java 프로그래머를 위한 알고리즘과 자료구조
- 글쓴이
- Yoshiki Kondu 저/임병균 역
영진닷컴
C언어 기반으로 알고리즘 과목을 공부를 하긴 했는데,
Java 기반으로도 공부해보고 싶어 거의 책 출간한지 얼마 안되서 샀었다가
줄 곳 책장에 방치해두던 것을 이제야 한번 정독 했네요..
진행하면서... 책에 그림도 많고 저자님 설명도 자세해서 이해하기 쉬웠습니다.
뭔가 저자님만의 특이한 방식으로 문제를 해결하시는 것 같은 부분도 눈에 띄었구요.
책이 2005년에 나왔기 때문에,
Java 1.4 시절입니다. 그래서 enum 도 사용할 수 없고, Generic을 사용할 수 없어
enum 의 역활을 하는 클래스를 생성하는 방법이나.
래퍼 클래스로 감싸서 자료구조의 어떤 타입을 고정하는 방법도 설명해주시는
부분이 좋았구요.
저자님이 해보신 것도 해보고, enum이나 Generic을
적용해서 책의 내용을 진행해보기도 했습니다.
프로젝트는 Gradle + Java 11 기반으로 설정하고
저자님께서 자료구조나 알고리즘 클래스의 테스트를 위해
main() 클래스를 만드신 부분들은 JUnit 5로 전환하여 테스트시
이 책의 구현 코드에 논리적인 문제나 오류 상황은 없었습니다.
전부 정상 동작하였구요,
다만 편집과정에서의 오타인지? 바로 문제를 알아차릴 수 있는 단순 오타들은 있었습니다.
정오표
- p94. 역 폴란드 계산기 소스파일명
- Calcular.java -> Calculator.java
- p125. 경계조건2에서 newCell의 삽입되는 위치가 header 바로 다음이여아하는데,
그 다음 지점에 연결되어있습니다. - p129. 38번째 주석 예와 => 예외
- p152. 64번째 주석문 fals => false
- p213. 8.4.3 -> 8.4.4 소 주제 번호 증가가 안되어있음.
- p206. 소스코드 164번째 줄
table[h].data = nall
->null
- p226 List 9.4의 insert 함수
- 주석에는 이미 등록되어있다면 null 반환처리가 되야하는데, 이미 등록된 값을 반환하게 되어있다.
- p262 217번쨰 줄 lowest 변수 선언
- 사용처가 없는 변수, lowest 관련은 InsertAuxResult의 필드 lowest만 사용되고 있음.
- p268 509번째 줄 주석 nod => node
- p269 526번째 줄 주석 필요한다 => 필요하다
- p298
교환소트
보다 선택소트가 =>삽입소트
보다 선택소트가 - p299
삽입소트는
k가 변하더라도 =>선택소트는
k가 변하더라도 - p300 셀소트의 평균 성능 표현에서.. O(n2.5)~O(n1.5) => O(n1.25)~O(n1.5)
- p312
14.1.1
분할 알고리즘 =>14.1.2
분할 알고리즘 - p353
루프
에서 가장 떨어진 ->루트
에서 가장 떨어진 - p362 Heap 소스 106줄에 public 지정자가 붙어야할 것 같습니다.
- p432 모두
88
= 16,777,216가지 =>8
8
- p436 col은 수직 방향으로
집히는지를
=>잡히는지를
- p450 전체를 몇 개의 작은
문자
로 분해한 =>문제
- p461
- 94줄 정수 값
valu
를 -> 정수 값value
를 - 96줄
value
->len
- 94줄 정수 값
콘도 요시유키(近藤嘉雪) 저자님께서 새로운 개정판을 내주실지는 모르겠지만...
만약 내 주신다면,
독자가 maven이나 Gradle 프로젝트를 만들고 JUnit 테스트를 추가해가며 자료구조나알고리즘을 테스트 해나가는 방식으로 진행할 수 있게 구성되면 좋을 것 같습니다.
그리고 Java버전의 경우도 적어도 1.8 이상 기준으로 만들어지면 좋을 것 같구요.
그리고 저는 이 책에서 결과학인을 sysout 으로 진행하는 부분의 경우는
왠만하면 logger로 바꾸고, 계산 결과를 낼 수 있는 부분이라면 리턴값으로 빼서
JUnit으로 검증했는데, 로거의 사용에 대해서도 한번 검토해주시면 좋을 것 같습니다.
마지막으로 편집관련해서는 설명에 대한 그림이나 도식이 다음 페이지로 넘어가는것을 되도록이면 피하는 쪽으로 고려되면 좋을 것 같습니다.
책 잘 읽었습니다. 감사합니다.
- 좋아요
- 6
- 댓글
- 0
- 작성일
- 2023.04.26
댓글 0

댓글이 없습니다.
첫 번째 댓글을 남겨보세요.