자료구조나 알고리즘 공부 하고 싶은데요.

sora24의 이미지

제 목표는 리눅스나 윈도우 위에서 프로그램을 만드는 것 입니다. 지금 저에게 놓여진 사항에서는 바로 하기는 힘들지만 조금씩 공부를 하려고 합니다. 지금은 자바 조금 배우고 jsp 공부 중 입니다. 제가 대학을 나오지 못 했기 때문에 자료구조나(컴과에서는 과목으로 있다고 하더군요.) 알고리즘 공부를 하고 싶은데 거의다 C나 C++ 로 되있어 따로 저 두개 중에 하나를 배워야 하나 고민중에 있습니다.
자바로도 윈도우나 리눅스 맥 위에서 콘솔 프로그램이 개발이 가능 한걸로 알고 있습니다. 저도 수업시간에 간단한 메모장이나 게산기 같은건 이미 제공 해주는 클래스나 인터페이스 호출 해서 만들어 만들어 봤습니다. 그렇지만 개발자라면 그리고 콘솔프로그램을 만들려면 그런 라이브러리를 분석 할 주는 알아야 한다고 생각합니다. 그래서 자료구조나 알고리즘을 꼭 배우고 싶은데 어떤식으로 해야할지 감이 안 잡혀서요.
자바로는 콘솔 프로그램 만드는거에 대해서 안 좋은 이야기가 많지만 JVM이 더 빨라 질수도 있고 컴퓨터 사양이 더 좋아질수도 있는거라 서투른 판단을 내리진 않겠지만 콘솔 위에서 만드는건 C 나 C++쪽이 아직은 많고 자료도 많아 이쪽으로 하나를 배워야 하나 싶기도 합니다.
초보 개발자를 위해서 조언좀 부탁드립니다.

cogniti의 이미지

일단, C언어로 나와 있는 자료구조와 Java 언어로 나와 있는 자료구조 책을 구해서 보시면 되겠습니다.
자료구조 책에 알고리즘이 약간 포함되어 있습니다.
알고리즘에 대해 더욱 알고 싶으면 알고리즘만 나와 있는 책을 보시면 됩니다.

번역판의 경우 번역이 미흡한 책들이 많습니다.
초보자가 번역판을 보는 것은 추천하지 않습니다.
대신 한국사람 자신이 쓴 책을 보시거나, 중급자가 된 후 번역판을 보시거나, 영어가 좀 되면 원서로 보시면 되겠습니다.
책은 저난이도부터 고난이도까지 여러 종류의 책이 많으니 자신의 수준에 맞는 것을 골라서 봐야 됩니다.

그리고 자료구조는 거의 동일하니 C로 된 책, 자바로 된 책 두 종류를 보기 힘들다면
C로 된 책을 보세요. 자바로 쓴 책은 안 봐도 됩니다.
예를 들어 LinkedList 를 자바로 구현하는 내용을 책에서 찾아보면 자바에 있는 LinkedList로 구현하지 않고 저자가 직접 만들어서 사용을 합니다. 즉, 원리(알고리즘)를 가르치는 것입니다. 따라서 자료구조 자체가 중요한 것이지 무슨 언어로 구현하는가에 대해서는 별로 중요하지 않습니다.

초보용 책으로 추천해드립니다.
C언어로 쉽게 풀어쓴 자료구조. 저자: 천인국 지음; 출판사: 생능

중급, 고급용 책은 초급을 뛰어넘은 다음에 고려하시면 되겠습니다.

sora24의 이미지

음 c를 조금 배워야겠네요. 자바로 된 책이 있긴하던데 다 절판이라..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.