CWN(CHANGE WITH NEWS) - 자료구조, 어디까지 알고 있니? #1. 리스트, 연결리스트

  • 맑음전주-7.7℃
  • 맑음청주-7.2℃
  • 맑음장수-9.1℃
  • 맑음경주시-3.3℃
  • 구름조금산청-3.2℃
  • 맑음영월-8.9℃
  • 맑음서산-6.3℃
  • 맑음서울-9.4℃
  • 구름조금성산0.8℃
  • 맑음강릉-4.4℃
  • 구름많음진주-4.1℃
  • 흐림고창-4.9℃
  • 맑음포항-2.4℃
  • 맑음이천-8.7℃
  • 흐림흑산도-0.3℃
  • 맑음상주-7.4℃
  • 구름많음완도-2.3℃
  • 흐림정읍-5.7℃
  • 구름조금보령-6.0℃
  • 구름조금북창원-1.3℃
  • 흐림해남-2.6℃
  • 흐림철원-16.3℃
  • 맑음추풍령-8.5℃
  • 맑음태백-11.3℃
  • 맑음동해-3.5℃
  • 맑음영주-7.3℃
  • 맑음대관령-13.2℃
  • 구름많음밀양-5.1℃
  • 맑음세종-8.6℃
  • 맑음충주-9.8℃
  • 구름많음보성군-3.3℃
  • 맑음금산-8.1℃
  • 맑음북부산-2.2℃
  • 흐림장흥-3.7℃
  • 맑음문경-7.6℃
  • 맑음춘천-11.3℃
  • 맑음부산-0.9℃
  • 구름많음남해-1.2℃
  • 구름많음고산2.3℃
  • 맑음보은-10.3℃
  • 맑음속초-5.2℃
  • 구름조금통영-0.6℃
  • 눈백령도-6.0℃
  • 맑음북강릉-4.8℃
  • 맑음영덕-3.8℃
  • 구름조금합천-5.7℃
  • 맑음수원-8.9℃
  • 흐림남원-6.8℃
  • 맑음순창군-5.8℃
  • 흐림영광군-4.3℃
  • 흐림함양군-3.8℃
  • 맑음양평-8.1℃
  • 구름많음목포-1.7℃
  • 흐림진도군-0.9℃
  • 흐림군산-6.7℃
  • 흐림부안-4.9℃
  • 맑음원주-8.7℃
  • 맑음부여-8.8℃
  • 구름많음의령군-8.5℃
  • 맑음인천-9.3℃
  • 맑음정선군-9.1℃
  • 맑음파주-14.2℃
  • 흐림고창군-5.0℃
  • 맑음북춘천-12.9℃
  • 맑음강화-11.8℃
  • 맑음영천-4.3℃
  • 구름많음고흥-3.5℃
  • 흐림강진군-3.0℃
  • 맑음천안-8.1℃
  • 맑음임실-6.8℃
  • 구름많음광양시-2.4℃
  • 맑음동두천-12.2℃
  • 맑음봉화-7.7℃
  • 맑음구미-5.1℃
  • 맑음울진-5.7℃
  • 눈홍성-8.4℃
  • 눈울릉도-2.5℃
  • 구름많음양산시-0.1℃
  • 맑음서청주-9.5℃
  • 맑음제천-9.7℃
  • 흐림순천-5.6℃
  • 구름조금거창-7.0℃
  • 맑음울산-2.3℃
  • 구름조금김해시-2.2℃
  • 맑음대전-8.5℃
  • 맑음대구-3.2℃
  • 맑음홍천-10.4℃
  • 맑음광주-5.0℃
  • 구름많음서귀포3.4℃
  • 맑음의성-10.0℃
  • 맑음청송군-7.1℃
  • 맑음안동-6.6℃
  • 맑음창원-1.4℃
  • 구름조금여수-2.3℃
  • 맑음인제-12.9℃
  • 구름많음제주1.8℃
  • 2026.01.21 (수)

자료구조, 어디까지 알고 있니? #1. 리스트, 연결리스트

서지연 / 기사승인 : 2021-04-23 00:22:54
  • -
  • +
  • 인쇄

리스트
리스트는 비슷한 특성을 가진 자료를 연결해 놓은 구조로 물품이나 사람의 이름 등을 일정한 순서로 적어 놓은 것으로 목록, 명단 등을 생각하면 쉽게 이해할 수 있다. 예를 들어, 1월, 2월, 3월과 같이 12개월을 늘어놓는 것, 월, 화, 수, 목, 금, 토, 일의 요일을 순서대로 나열된 구조도 일종의 리스트이다.


비슷한 특성을 가진 자료들을 모아놓았다는 면에서는 배열과 같다. 그러나 배열은 집합적인 성격이 강하고, 리스트는 연결해 놓았다는 성격이 강하다. 배열에서는 항목을 삽입하거나 삭제할 때 뒤의 항목이 그에 따라 이동하는 명령을 주어야 하지만, 리스트의 경우에는 뒤 항목이 이동하지 않고도 중간에 삽입과 삭제가 가능하다.

<삭제>

점수1

점수2

점수3

점수4

점수5

점수6

점수7

삭제전

90

87

46

79

99

100

85

2번째 항목 삭제 후

90

46

79

99

100

85

<삽입>

점수1

점수2

점수3

점수4

점수5

점수6

점수7

점수8

삽입전

90

87

46

79

99

100

85

3번째 300 삽입후

90

87

300

46

79

99

100

85

연결리스트
수업 시간의 과제 발표를 앞서 발표한 친구가 다음 발표할 친구를 지목하는 방식으로 수업을 해본적이 있을 것이다. 컴퓨터에서도 비슷한 사례가 있다. 연결리스트에서 자료와 다음 자료가 있는 위치를 같이 표현하는 개체 하나를 ‘노드’라고 하는데 링크정보를 따라가면, 다음 순서대로 자료를 찾을수 있게 되고, 남는 메모리 공간도 알뜰히 쓸 수 있게 된다.

이어진 자료 중간에 새로운 자료를 넣거나 불필요한 자료의 삭제가 필요할 때, 전체 자료들이 자리를 이동할 필요 없이 추가할 자료의 앞과 뒤 순서에 있는 자료에만 자료를 수정하면 된다.

이렇듯 연결리스트는 메모리 공간을 절약하고, 자료의 삽입과 삭제가 빈번할 때 사용하면 속도가 빠른 장점이 있지만 어떤 자료를 찾고자 할 때, 노드와 다음 노드를 링크로 이동하며 탐색하므로, 자료 탐색이 잦은 경우에는 속도가 느린 단점이 있다.

이렇게 이번 기사에서는 리스트와 연결리스트에 대해 알아봤다. 다음 기사에서는 연결리스트의 네가지 구현방법에 대해 알아보자.

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

최신기사

뉴스댓글 >

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

댓글 0

Today

Hot Issue