자료구조, 알고리즘 배우는 순서 중요할까요?
현재 대학생이고 알고리즘 수업을 막 듣고 있습니다 그런데 자료구조에 대한 언급을 종종 들을수 있는데,
자료구조를 배우지 않고도 알고리즘을 충분히 배울수 있을까요?
이 둘 외에 프로그래머가 되기위해 배우면 좋을것들에 무엇이 있을까요
안녕하세요,
자료구조를 배우지 않고도 알고리즘을 충분히 배울수 있을까요? 라고 질문을 하셨는데요
알고리즘은 충분히 배울수 있습니다!!!
근데 자료구조에 대해서 전혀 모르는것보다는 조금이라도 알고 있는게
알고리즘 생성에 좀더 유리하게 작용을 합니다
특히 DB설계시 매우 유용할 수 있겠지요.
그러므로 한번 훓어보는식이라도 꼭 접해보시길 추천드립니다
자료구조를 아는 것이 알고리즘을 배우는데 많은 도움이 되지 않을까 합니다.
자료구조를 꼭 배우지 않아도 알고리즘을 배울 수는 있기는 합니다.
자료구조도 자세히보면 하나의 알고리즘이라고 볼 수 있습니다.
저는 개인적으로 학교다닐때 컴파일러 수업이 많은 도움이 되었습니다.
개발자가 된 이후에는 리펙토링과 디자인 패턴을 보는게 어떻까 합니다.
너무 빨리 보면 잘 이해가 되지 않아 보통은 1~2년 정도 일하고 보면 많은 부분에서 공감을 할 수 있습니다.
자료구조를 배우지 않고 알고리즘을 배울 수는 있겠지만 수업 중 교재나 인쇄물로 나눠주는 알고리즘 소스코드를 이해하는데 어려움이 많을 것이라 생각됩니다. 자료구조는 알고리즘을 시작하기 위한 기초 단계라고 할 수 있는데요.
그것을 배우지 않고 뛰어 넘으려면 많은 시간과 많은 노력이 필요할 것이라 생각됩니다.
자료구조를 알아야 알고리즘을 이해하는데 도움이 될꺼에요.
결국 자료구조를 이용해서 로직을 구현하는게 알고리즘이니까요.
그외에 필요한 내용은 네트워크 (이론 및 실습), 컴퓨터 구조 (이론), 운영체제 (이론), 시스템 프로그래밍 (실습) 정도 있을 것 같습니다.
알고리즘 수업이 있는 거 보니 컴퓨터공학관련 학과 이신 것 같은데 과에서 제공하는 커리큘럼을 잘 숙지하시면 프로그래머가 되기 위해 전반적인 내용을 배우는 것입니다.
자료구조가 알고리즘의 일부분입니다. 일종의 포함관계라고 보시면 됩니다.
자료구조는 프로그래밍에서 많이 사용하는 알고리즘들입니다. 왜냐하면 결국 프로그래밍은 데이터를 처리하는 것인데 자료구조가 이 데이터를 구조화하여 관리하기 편하고 빠르게 처리할 수 있도록 설계된 알고리즘이기 때문입니다.
자료구조와 알고리즘이 앞에 설명한 것과 같이 분리된 관계가 아니라 포함관계이기 때문에 양자택일할 수 있는 것이 아닙니다. 참고로 알고리즘은 알면 알수록 좋은 것들입니다. 아는 만큼 더 다양하고 효율적인 프로그래밍을 하실 수 있습니다. 모든 알고리즘이 어디서든 쓰이는 것이 아니고 원하는 분야의 복잡도에 따라 사용되는 알고리즘이 다르기 때문에 대학교 수준에서 배우는 기본 알고리즘(자료구조 포함)은 모두 알아두시는 것이 좋고 구현도 한번쯤 해보시는 것을 추천드립니다.
알고리즘 외에 꼭 배워두시길 추천하는 것은 네트워크와 운영체제, 컴퓨터 구조입니다. 비전공자들이 잘 모르는 부분인데 전공자가 이걸 모르면 비전공자와 별차이가 없습니다. 전공자로서 좀 더 높은 대우를 받고 더 높은 수준에 이르기 원하신다면 이 것들을 학부 교재수준으로 공부를 하셔도 충분할 것으로 보입니다.