문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 자료구조 (문단 편집) == [[컴퓨터공학과]]의 과목 == 학교에서는 주로 기초 컴퓨터 [[프로그래밍 언어]]를 익힌 후 배우므로, 대학교 컴퓨터 계열 학과의 1학년 2학기에서 2학년 1학기 쯤 대부분 수강하게 되며, 가끔가다 1학년 1학기에 같이 시작하는 곳도 있다. 다만 정보계열 실업계 고등학교 학생들의 경우 2학년부터 배우게 되는데 덕분에 프로그래밍 기초나 작업과 같은 과목에 대해선 의외로 강세를 보이기도 한다. 다만, 과목 이름만 자료구조이고, 엑셀, 파워포인트 등을 하는 경우도 있다. 간단한 리스트부터 수업에 따라 B-트리까지 익히는 편이다. 이 과목이 자료구조를 직접 활용하기 때문에 중요하다기 보다는, 프로그램을 작성할 때 되는대로 막 짜는 게 아니라 한 번이라도 전체적인 프로그램의 흐름(혹은 구조)에 대해 생각하게 만들기 때문에 중요하다. 한국에서 거의 이러한 일이 일어나지 않지만, 운영체제 또는 특정 목적으로 동작하는 프로그램 엔진 등을 제작하게 될 때에는 정말 잘 알아야 하는 과목이다. 자료 구조에 따라 프로그램 자체의 지원 가능한 기능과 성능 자체가 확확 바뀌는 경우가 발생하기 때문이다. 이러저러한 이유로 여러 컴퓨터과학 전공과목 중에서 전공심화 과목들은 기본적으로 이 과목을 요구하는 경우가 많다. [[정렬#s-2|정렬]]과 [[이진 탐색]]은 엄밀히 말해 자료구조가 아닌 [[알고리즘]]에 속하지만, [[배열]] 등의 자료구조와 밀접하게 연관되고 알고리즘 중에서도 비교적 쉬운 축에 속하므로 대부분 함께 배우는 경우가 많다. 자료구조도 좀 깊이 들어가 보면 어떤 알고리즘을 사용하기 위해 개발된 것들이 많다. 강의에서는 주로 다음과 같은 내용을 다루게 된다. * 알고리즘 분석 방법: [[시간복잡도]]. Big-O 기호를 정의한다. 예: O(n), O(n^^2^^) * 선형 리스트: [[스택(자료구조)|스택]], [[큐(자료구조)|큐]] * [[힙 트리|힙 정렬]] * [[연결 리스트]]: 단일 연결 리스트, 이중 연결 리스트 * 정렬 알고리즘: 병합 정렬, 퀵 정렬 등 * [[이진 탐색]] 트리 * 그래프: 순회 ([[DFS]], [[BFS]]), Minimum Spanning Tree ([[크루스칼 알고리즘]], Prim) * Hashing Table저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기