대표사진
siaction
  1. 기본 카테고리

이미지

도서명 표기
Java 프로그래머를 위한 알고리즘과 자료구조
글쓴이
Yoshiki Kondu 저/임병균 역
영진닷컴
평균
별점10 (1)
siaction

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가지 => 88

  • p436 col은 수직 방향으로 집히는지를 => 잡히는지를

  • p450 전체를 몇 개의 작은 문자로 분해한 => 문제

  • p461

    • 94줄 정수 값 valu를 -> 정수 값 value

    • 96줄 value -> len





 



콘도 요시유키(近藤嘉雪) 저자님께서 새로운 개정판을 내주실지는 모르겠지만...



만약 내 주신다면,



독자가 maven이나 Gradle 프로젝트를 만들고 JUnit 테스트를 추가해가며 자료구조나알고리즘을 테스트 해나가는 방식으로 진행할 수 있게 구성되면 좋을 것 같습니다.



그리고 Java버전의 경우도 적어도 1.8 이상 기준으로 만들어지면 좋을 것 같구요.



 



그리고 저는 이 책에서 결과학인을 sysout 으로 진행하는 부분의 경우는

왠만하면 logger로 바꾸고, 계산 결과를 낼 수 있는 부분이라면 리턴값으로 빼서

JUnit으로 검증했는데, 로거의 사용에 대해서도 한번 검토해주시면 좋을 것 같습니다.

 



마지막으로 편집관련해서는 설명에 대한 그림이나 도식이 다음 페이지로 넘어가는것을 되도록이면 피하는 쪽으로 고려되면 좋을 것 같습니다. 



 



책 잘 읽었습니다. 감사합니다.



 


좋아요
댓글
0
작성일
2023.04.26

댓글 0

빈 데이터 이미지

댓글이 없습니다.

첫 번째 댓글을 남겨보세요.

siaction님의 최신글

  1. 작성일
    2024.12.28

    좋아요
    댓글
    0
    작성일
    2024.12.28
  2. 작성일
    2024.10.17

    좋아요
    댓글
    0
    작성일
    2024.10.17
    첨부된 사진
    20
  3. 작성일
    2024.9.19

    좋아요
    댓글
    0
    작성일
    2024.9.19
    첨부된 사진
    첨부된 사진
    20

사락 인기글

  1. 별명
    리뷰어클럽공식계정
    작성일
    2025.7.1
    좋아요
    댓글
    149
    작성일
    2025.7.1
    첨부된 사진
    첨부된 사진
    20
  2. 별명
    리뷰어클럽공식계정
    작성일
    2025.7.1
    좋아요
    댓글
    126
    작성일
    2025.7.1
    첨부된 사진
    첨부된 사진
    20
  3. 별명
    리뷰어클럽공식계정
    작성일
    2025.7.1
    좋아요
    댓글
    257
    작성일
    2025.7.1
    첨부된 사진
    첨부된 사진
    20
예스이십사 ㈜
사업자 정보