Daehyunii's Dev-blog

<Udemy 단일 연결 리스트/이중 연결 리스트> TIL-63 본문

✏️ 2022. TIL/August

<Udemy 단일 연결 리스트/이중 연결 리스트> TIL-63

Daehyunii 2022. 8. 12. 23:54

  오늘은 연결 리스트 자료 구조에 대해서 공부했다. 연결 리스트는 다시 단일 연결 리스트와 이중 연결 리스트로 나뉘게 된다. 단일 연결 리스트는 노드들을 단방향으로 연결하는 자료 구조이고, 이중 연결 리스트는 노드들을 양방향으로 연결하는 자료 구조이다. 배열과 비슷한 것처럼 보이지만 배열은 인덱스를 가지게 되어 데이터를 맨 뒤에 추가하거나 삭제하는 경우를 제외하고는 맨 앞에 데이터를 추가하거나 중간에 데이터를 추가하는 경우에는 인덱스가 다시 설정되어야 한다. 하지만 연결 리스트의 경우에는 인덱스 번호를 가지고 있지 않기 때문에 데이터를 중간에 추가하거나 삭제하더라도 단순히 데이터끼리의 연결만 다시 설정해 주면 되기 때문에 배열에 비해 효율성이 좋다. 그러나 해당 데이터에 접근을 하는 경우에는 인덱스를 가지고 있는 배열이 인덱스 번호를 가지고 있기 때문에 훨씬 빠르다. 단순히 자료를 저장해 놓고 필요한 데이터를 검색하는 용도로만 사용한다면 배열을 사용하는 것이 더 효율적일 수 있다. 어떻게 보면 단일 연결 리스트나 이중 연결 리스트의 경우에는 배열이 인덱스를 가지기 때문에 생기는 단점들을 보완하고자 하는 목적으로 만들어진 자료 구조인 것 같다. 그리고 클래스를 통해서 단일 연결 리스트, 이중 연결 리스트를 만들고 인스턴스의 프로퍼티로 데이터들을 엮는다는 생각이 굉장히 신선했다. 이전 까지는 단순히 배열, 객체 리터럴, 생성자 함수에 의한 인스턴스 생성 이렇게 딱 정형화 된 모습으로만 데이터를 저장한다고 생각했었는데 그게 아니라 객체 타입의 값들을 이용해서 활용도에 맞게 자료들을 다양한 모습으로 저장할 수 있다는걸 알게 되었다.

 

 

2022.08.12 - [언어 공부 및 정리/자바스크립트 알고리즘 & 자료구조[Udemy강의]] - 13 단일 연결 리스트

 

13 단일 연결 리스트

13.1 단일 연결 리스트 소개(Singly Linked Lists) 단일 연결 리스트는 연결 리스트의 한 종류로 문자열, 숫자 등 무엇이든 원하는 데이터를 저장하는 자료 구조다. 단일 연결 리스트는 데이터와 데이터

pinetree93.tistory.com

2022.08.13 - [언어 공부 및 정리/자바스크립트 알고리즘 & 자료구조[Udemy강의]] - 14 이중 연결 리스트

 

14 이중 연결 리스트

14.1 이중 연결 리스트(Doubly Linked Lists) 이중 연결 리스트는 단일 연결 리스트와 별반 다를게 없다. 단일 연결 리스트는 노드들의 연결이 하나의 방향으로만 이어져 있었다면 이중 연결 리스트는

pinetree93.tistory.com