data structure : LinkedList

wonkeunC·2021년 5월 27일
0

data structure

목록 보기
1/1
post-thumbnail

LinkedList

Linked = 연결
컴퓨터에 자료를 저장하는 구조의 한 종류이며, 일렬로 O O O 연결된 Data를 저장할 때 사용합니다.
데이터를 저장할 수 있는 공간이 있으면 ! ( O 은 하나의 node 이다.)


다음 데이터에 대한 주소를 가지고 있다.

Array 와 LinkedList의 차이점

Array 와 비교를 해보자 !
배열은 배열의 방들이 물리적으로 한곳에 모여있다.

배열 방의 크기를 한번 정하면 늘리거나 줄일 수가 없다.

그에 반대로 Linked List는 Data를 중간에 삽입을 하고싶으면,
앞에 Node가 가지고 있는 주소를 자신이 갖고, 앞에 Node에게는 너 다음 나야 라고 알려준다.

위와 반대로 link를 제외하고 싶으면 해당 Node가 갖고 있던 다음 Node의 주소를 앞에 Node에게 주면 된다. (※ 아래 사진 참고)

Linked List : 데이터를 핸들링 할때는 Array 보다 유용하다.

Why? : 길이가 정해진 Array와 반대로 길이가 정해지지 않은 Linked List는 새로운 Node에 대한 삽입과 삭제가 유용하다.
단점 : 주소를 일일히 찾아 다녀야 하기 때문에 Array보다 속도가 느릴 수 있다.

Array : 속도는 빠르다.
단점 : Node의 삽입과 삭제를 구현해야 한다면 Node가 한개 추가 될 때마다 배열 방을 하나 다시 선언해줘야 해서 번거롭다.


※ Linked List 단방향/양방향

1. 단방향 : Node를 한 방향으로만 이동 할 수 있다


2.양방향 : 다음 주소를 가지고 있음과 동시에 나의 뒤에 있는 애가 어디있는지 주소를 추가로 알 수 있다.

양방향에서 새로운 Node 추가.

profile
개발자로 일어서는 일기

0개의 댓글