Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- reat if문
- sort()
- useState()
- 교집합
- map()
- useRef()
- substring()
- Math.sqrt()
- includes()
- 소수점 올림내림
- slice()
- isNaN()
- 차집합
- charAt()
- parseInt()
- new Date()
- React
- indexOf()
- useEffect()
- 3진수
- jsx반복문
- getday()
- toUpperCase()
- Math.floor()
- Number()
- repeat()
- filter()
- setDate
- Eventlitener
- 항해99솔직후기 #항해99장점 #항해99단점 #부트캠프추천
Archives
- Today
- Total
개발자로 전향중
[자료구조]Javascript를 이용한 Linked List 구현 본문
Linked List
Linked List는 배열과 달리 메모리상에 index에 의한 물리적 배치를 하지 않고, node를 생성 후 해당 node의 pointer에 의해 다음 node를 연결한다. 이를 통해 Linked List는 데이터 삽입/삭제시 데이터의 구조를 재정렬하지 않아도 된다.
Linked List의 이점
- 새로운 elements를 삽입, 삭제 시 용이
- restructuring이 덜 복잡함
Linked List의 단점
- array보다 많은 메모리 사용
- 특정 element를 검색시 비효율적임
Linked List 적용
- data를 연달아 추가, 삭제 시 용이
Linked List 구현
Javascript에서 연결리스트는 객체를 통해 구현할 수 있다.
아래 예시는 두개의 객체를 next로 연결하여 Linked List의 기본적인 구조를 보여준다.
const n1 = {
data: 100
}
const n2 = {
data: 200
}
n1.next = n2;
console.log(n1) // { data: 100, next: { data: 200 } }
연결리스트의 핵심은 node이며, node는 data를 담는 data field와 다음 노드를 알려주는 linked field로 구성된다.
'CS' 카테고리의 다른 글
[자료구조] Tree 트리 (0) | 2022.08.31 |
---|---|
[자료구조]자료구조? 알고리즘? 자료구조와 알고리즘의 관계 (0) | 2022.08.29 |
[면접 기출] CS 기출 문제1 (0) | 2022.02.07 |
[면접 기출] CS 기출 문제2 (0) | 2022.02.05 |
[면접 기출] CS 기출 문제4 (0) | 2022.02.03 |