C로 구현한 알고리즘
이 책은 모든 프로그래밍 작업의 강력한 해결과 일반적인 프로그래밍 기술을 이해하는 데 꼭 필요한 정보를 제공한다. 또 각 자료 구조와 알고리즘을 흥미롭고 실제적인 예제를 이용해 구현하는 방법까지 담고 있다. C 언어의 기본적인 이해를 갖고 있으면 누구나 이 책을 사용할 수 있다.
- 저자 : 카일 루든(Kyle Loudon)
- 번역 : 허 욱
- 출간 : 2000-04-01
알고리즘을 모르는 사람이 의외로 많다!
그럴것이라고는 생각도 안했지만 알고리즘 없이도 프로그램을 너무도 잘 짜는 사람도 많다.
적어도 내 주변에서는 알고리즘을 너무도 잘해서
프로그램을 잘짜는 사람은 거의 없다.
그럼 알고리즘은 도대체 뭐하는 것일까?
단지 "나보다 먼저" 어떤 특수한 프로그램을 만들어 본 사람들이
조금은 더 효율적이고 안정적으로 만들어 놓은
옛 사람들의 경험일 뿐이다.
그럼 왜 우리가 알고리즘을 배우는가?
옛 것을 배움으로 새것을 안다~?
글쎄... 하지만 우리는 적어도 옛날의 것 보다는
더 효율적이고 더 좋은 코드를 생성해야만 한다.
이 책은 C 언어도 잘 모르는 초보자가 볼 책은 아니다.
C 언어를 아무리 잘 아는 사람도 볼 부분이 많은 책이다
무슨 전문가용 서적 같지만 또 그런것도 아니다.
단지 프로그램을 잘 짜고 싶은 사람에게는
충분이 도움이 되어줄 책이다.
------------------------------------------------------------
알고리즘이 필요 없다는 말은 아니다.
솔직히 최근에 C++ Std 라이브러리를 쓰면서 몇 가지 자료구조와
알고리즘이 자체에 포함되어 있는 것 때문에 예전처럼 너무도 중요한
것이라고 생각지는 않지만 그래도 알고리즘의 관한 이해는
프로그래밍을 하면서 당연히 필요하다고 생각한다.
알고리즘은 프로그래밍을 할 수 있게 만드는 어떤 형용할 수 없는
좋은 생각들을 개발자에게 전해주는 것이라고도 생각한다.
하지만... 알고리즘에 관한 회의는 계속 된다.
이쪽은 공부를 하면 할 수록 스스로가 만들어내는 알고리즘은 예전에
누군가가 만들어 놓은 최적의 알고리즘에 접근하기 힘들다는 것을
느끼게 된다. 그저 그 소스를 가져다가 적당히 고쳐서 쓰면서
스스로에게 위안을 삼을 뿐이죠...
저만 그런지도 모르겠습니다만. 알고리즘을 알고 자유자제로 쓰는 건
좋지만. 그게 과연 정말로 좋은 것인가는 모르겠습니다.
알고리즘에 관한 깊은 이해는 결국 순수한 자신의 프로그래밍 스타일마저
없에버리니까요...