[문과생을 위한 IT정보] 자료구조의 모든 것!
안녕하세요! 오늘은 자료구조에 대해서 알아봅시다.
찾고자하는 물건이 있을 때, 어지럽혀져 있는 상태에서 찾는 것 보다
정리되어 있는 상태에서 찾는 것이 훨씬 쉽다는 사실 아시죠?
자료구조는 많은 양의 자료를 어떻게 정리하고 효율적으로 활용하기 위한 방법이라고
보시면 될 것 같은데요~ 더 자세하게 자료구조의 개념은 무엇이고 배우기 위해서는 어떻게 해야할지
알아볼까요?
자료구조의 모든 것
자료구조는 컴퓨터에서 처리할 자료를 효율적으로 관리하고 구조화하는 작업인데요.
다시 말해, 자료를 효율적으로 사용하기 위해서 자료의 특성에 따라 분류하여 구성하고
저장 및 처리하는 모든 작업을 의미한답니다.
컴퓨터의 의미를 짚어보자면
현실 세계에 존재하는 반복적이거나 복잡한 자료처리를 효율적으로 처리하기 위한 전자장치라고
할 수 있는데요. 컴퓨터를 이용하여 자료처리를 하기 위해서는 무엇보다도
먼저 자료를 컴퓨터가 다룰 수 있도록 컴퓨터 내에 표현해 주어야만 합니다.
그리고 이렇게 표현된 자료를 컴퓨터는 일정한 절차를 통해 처리하게 되는 것이죠~
자료구조는 자료 처리의 성능과 효율에 직접적인 영향을 미치는데요.
따라서 자료구조는 현실 세계의 실제 자료들의 관계를 잘 반영할 수 있어야 하고,
효율적으로 자료 처리를 수행할 수 있도록 간단명료해야만 해요.
이렇게 자료구조로 표현된 자료들을 이용하여 자료들을 처리하는 절차들의 모임을
알고리즘이라 하고, 대부분의 언어는 일정 수준의 모듈 개념을 갖고 있으며
이는 자료구조가 검증된 구현은 감춘 채 인터페이스만을 이용하여 다양한 프로그램에서
사용되는 것을 가능하게 해준답니다.
C++나 자바와 같은 객체지향 프로그래밍 언어는 특별히 이러한 목적으로 객체로 사용하는데요.
이러한 자료구조의 중요성 때문에 최근의 프로그래밍 언어 및 개발 환경은
다양한 표준 라이브러리를 제공하고 있어요.
예로, C++의 표준 템플릿 라이브러리나 자바의 자바 API, 마이크로소프트의 .NET과 같은 것을 들 수 있지요~
컴퓨터가 효율적으로 문제를 처리하기 위해서는 자료를 보관하고 정리하는 기술이 필요한데요.
컴퓨터는 자료의 특성에 따라 다양한 자료구조 기법을 사용하고 있습니다.
자료구조에는 단순구조, 선형구조, 비선형구조가 있어요.
단순구조는 정수, 실수, 문자, 문자열 등 자료의 형태를 말하고,
선형 구조는 자료 간의 연결 관계가 [1:1] 관계를 가지는 형태로 자료들이
긴 선처럼 연결되어 있는 구조입니다.
비선형구조는 자료 간의 연결 관계가 [하나:여러 개] 또는 [여러개 : 여러개]의
관계를 가지는 형태로, 나뭇가지 모양이나 그물 모양처럼 얽혀있는 구조입니다.
예를 들어, 엑셀로 각 과목 점수를 정리하는 표를 만들 때 사용하는 자료구조는
선형구조 중에서 '리스트'라는 구조인데요.
리스트는 순서가 정해져있는 목록의 자료구조랍니다.
지하철 노선도를 정리할 때 사용하는 자료 구조는 비선형 구조의 '그래프'라는 구조예요.
다양하고 복잡한 연결 구조들을 표현할 때 사용하게 된답니다.
대부분의 컴퓨터 프로그램은 알고리즘+자료구조의 형태로 이뤄지는데요.
알고리즘이 특정한 목적을 달성하기 위한 절차라고 한다면,
자료구조는 알고리즘에 필요한 데이터의 집합이에요.
동일한 알고리즘이라도 자료구조가 달라지면 전혀 다른 프로그램이 될 수 있기 때문에
자료에 알맞은 자료구조를 만드는 것이 매우 중요하답니다!
'IT소식 > 문과생을 위한 IT지식' 카테고리의 다른 글
[문과생을 위한 IT정보] 펄 프로그래밍 언어, 어디까지 알고있니? (0) | 2017.08.01 |
---|---|
[문과생을 위한 IT정보] 네트워크 기초 용어 (0) | 2017.06.22 |
[문과생을 위한 IT정보] 4차 산업혁명 관련 용어 알아보기! (0) | 2017.06.21 |