CWN(CHANGE WITH NEWS) - 자료구조, 컴퓨터를 전공한다면 꼭 배워야한다...왜?

  • 구름조금북부산29.0℃
  • 맑음원주27.4℃
  • 구름많음제주27.5℃
  • 구름조금상주27.8℃
  • 맑음영광군29.0℃
  • 맑음보령29.8℃
  • 구름많음추풍령26.2℃
  • 구름많음부산29.6℃
  • 구름많음장수25.2℃
  • 구름많음북창원28.9℃
  • 맑음속초26.0℃
  • 구름조금고산29.7℃
  • 구름많음거창25.8℃
  • 구름많음산청25.9℃
  • 구름조금홍성28.9℃
  • 맑음서울28.5℃
  • 구름조금강릉27.7℃
  • 구름조금울릉도25.8℃
  • 흐림경주시25.3℃
  • 구름조금안동29.0℃
  • 맑음정선군28.6℃
  • 맑음이천26.7℃
  • 맑음세종28.7℃
  • 맑음봉화28.0℃
  • 구름많음울산25.0℃
  • 구름조금청송군26.9℃
  • 맑음제천26.8℃
  • 맑음춘천27.7℃
  • 맑음동해27.1℃
  • 맑음영주28.4℃
  • 구름많음창원28.5℃
  • 구름많음합천27.5℃
  • 구름조금백령도27.0℃
  • 구름조금양산시29.5℃
  • 맑음고창군29.3℃
  • 맑음수원27.7℃
  • 맑음완도30.5℃
  • 구름조금광양시27.9℃
  • 맑음서산28.3℃
  • 구름조금광주28.8℃
  • 맑음서청주27.2℃
  • 맑음부여28.6℃
  • 맑음대관령23.2℃
  • 맑음철원28.4℃
  • 구름조금강진군28.8℃
  • 맑음북춘천28.3℃
  • 맑음남원27.6℃
  • 구름많음순천27.3℃
  • 맑음해남28.8℃
  • 구름많음진주27.8℃
  • 구름조금고흥29.5℃
  • 맑음군산28.3℃
  • 구름많음의령군27.1℃
  • 구름조금북강릉27.0℃
  • 구름조금흑산도27.6℃
  • 구름조금남해26.2℃
  • 구름많음성산27.7℃
  • 맑음천안27.0℃
  • 맑음동두천28.5℃
  • 구름많음보성군29.6℃
  • 맑음전주28.8℃
  • 구름많음영천27.6℃
  • 맑음고창29.3℃
  • 맑음인제27.2℃
  • 구름많음김해시28.2℃
  • 구름조금구미27.5℃
  • 맑음부안29.1℃
  • 맑음청주28.6℃
  • 구름조금목포28.9℃
  • 구름조금태백25.0℃
  • 구름조금금산26.8℃
  • 구름많음여수26.0℃
  • 구름많음포항26.1℃
  • 맑음인천29.1℃
  • 맑음영덕26.4℃
  • 맑음충주28.8℃
  • 맑음진도군28.6℃
  • 맑음영월28.6℃
  • 구름조금장흥29.4℃
  • 구름조금서귀포30.0℃
  • 구름많음밀양28.4℃
  • 구름많음대구27.2℃
  • 맑음울진28.5℃
  • 구름많음통영28.2℃
  • 맑음대전28.6℃
  • 맑음강화27.4℃
  • 맑음파주27.6℃
  • 구름많음의성29.6℃
  • 맑음보은26.9℃
  • 맑음문경27.4℃
  • 구름많음함양군26.9℃
  • 맑음양평27.8℃
  • 맑음순창군27.6℃
  • 맑음홍천26.6℃
  • 구름많음거제27.3℃
  • 맑음정읍29.6℃
  • 맑음임실27.2℃
  • 2025.09.11 (목)

자료구조, 컴퓨터를 전공한다면 꼭 배워야한다...왜?

김영휘 / 기사승인 : 2021-03-28 23:23:25
  • -
  • +
  • 인쇄

자료구조를 배워야 하는 이유를 말하기에 앞서 자료구조의 개념을 설명하겠다. 자료구조는 자료를 효율적으로 표현하고 저장하고 처리하기 위해 정리하는 것으로, 자료 객체의 변수 표현과 처리함수를 해당 프로그램의 자료구조라고 한다.

자료구조에서는 프로그래밍 문제에서 처리해야 할 자료 객체들과 그들의 속성을 파악해, 이들 사이의 상관관계와 처리 연산을 정의하고 구현하는 것에 대한 체계적이고 효율적인 방법을 연구한다. 자료구조는 처리해야 할 현실 세계의 자료 객체를 논리적 자료추상화를 통해 표현된 추상 자료 객체의 집합, 그리고 이 객체 집합에 대한 처리 연산의 집합이다.

그렇다면 컴퓨터 전공자가 자료구조를 배워야 하는 이유는 무엇일까?

간단하게 말하자면, 컴퓨터가 효율적으로 문제를 처리하기 위해서는 문제를 정의하고 분석하여 그에 대한 최적의 프로그램을 작성해야 하기 때문이다. 일반적으로 프로그래밍은 문제 이해 및 분석, 프로그램의 변수 설계, 알고리즘 설계, 코딩, 실험 및 디버깅의 순서로 이루어진다.

프로그램의 변수 설계는 처리해야 할 자료 객체의 속성과 상관관계를 파악하여 이를 프로그램의 변수들로 정의해서 처리하면 된다. 그러나 복잡한 프로그램의 설계는 그리 간단하게 해결되는 것이 아니다. 따라서 자료를 효율적으로 저장하고 처리하기 위해 적합한 자료구조를 활용해야 한다.

게임을 예를 들어서 설명하자면, 수많은 몬스터(적)가 한순간에 생성되어 움직일 때 각각의 개체에 메모리를 로드시키면 불필요하게 오래 걸리고 비효율적으로 실행된다. 자료구조는 여기서 더 효율적인 게임을 만들기 위해 필요하다. 적합한 자료구조를 선택하기 위해 데이터의 처리 시간, 크기, 활용 빈도 등 많은 부분을 고려해야 할 것이다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue