티스토리 뷰
배열과 링크드 리스트
배열
- 데이터를 논리적 순서에 따라 순차적으로 데이터를 입력하며, 물리적 주소 또한 순차적이다.
- 인덱스를 가지고 있어서 원하는 데이터를 한번에 접근이 가능하기 때문에 접근 속도가 매우 빠르다.
- 그러나 배열은 데이터의 삽입/삭제에는 취약하다.
n 배열의 특성상 데이터 삽입/삭제가 이루어지면, 다음 위치의 모든 데이터의 위치를 변경해야 하기 때문이다.
링크드 리스트
- 데이터를 논리적 순서에 따라 데이터를 입력한다. 하지만 물리적 주소는 순차적이지 않다.
- 현재 위치 이전 및 다음 위치를 기억하고 있다.
n 따라서 한번에 데이터에 접근할 수 없고, 순차적으로 링크를 따라가야만 접근이 가능하다.
- 링크드 리스트의 종류
n 링크드 리스트(Simple Linked List)
u 노드가 자기 다음의 노드의 주소를 가지고 있다.
n 환형 링크드 리스트(Circular Linked List)
u 마지막 노드의 링크가 첫번째 링크를 가리킨다.
n 이중 연결 리스트(Doubly Linked List)
u 각 노드가 자기 앞의 노드와 다음 노드의 주소를 가지고 있다.
배열은 데이터 삽입/삭제가 거의 없고, 읽기가 빈번하게 일어날 때 유리하고, 데이터의 삽입 삭제가 잦을 때는 링크드 리스트가 유리하다.
반응형
'개념 > 자료구조' 카테고리의 다른 글
[Java] 큐(Queue) (0) | 2016.06.10 |
---|---|
[JAVA] 스택(Stack) (3) | 2016.06.10 |
[자료구조] 힙과 힙소트 (0) | 2015.06.08 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 다이나믹
- 파이썬
- 오류
- build
- Linux
- S3
- SQL
- 하이브
- HDFS
- airflow
- emr
- error
- mysql
- Tez
- Hadoop
- bash
- 알고리즘
- 하둡
- ubuntu
- HIVE
- 백준
- oozie
- hbase
- java
- nodejs
- yarn
- SPARK
- AWS
- 정올
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함