일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- nginx
- 부트스트랩
- post
- db
- 개발일지
- 비동기
- Sequelize
- 3주차
- OpenAPI
- SQL
- NoSQL
- 1주차
- 노드 윈스턴
- Transaction
- cors
- HTTPS
- 4주차
- JWT
- 트랜잭션
- 숙제
- 위키백과
- MongoDB
- 웹 스크래핑(크롤링)
- 항해99
- 스파르타코딩클럽
- Get
- node winston
- 2주차
- Node.js
- 5주차
Archives
- Today
- Total
얼음꽃의 일지
Array 와 Linked-List 차이 본문
728x90
Array
- 정해진 크기 만큼 연속된 메모리 공간을 할당하여 데이터를 저장
- 앞 주소만 알면 다음 주소를 알 수 있음
- index 으로 접근 가능
- 한번 정해진 크기는 변경 불가
- 탐색하기 좋음
- 삭제하는데 시간걸림
Linked-List
- 여러개의 노드들이 순차적으로 연결되어 있는 구조
- 노드 맨 앞 : Head, 노드 맨 뒤 : Tail
- 각 연결되어 있는 노드는 가르키는 노드를 가르키는 포인터로 연결
- 배열과 다르게 연속적으로 할당이 아님
- 탐색하는데 시간 걸림
- 삭제 쉬움 ( 처음, 끝인 경우 )
- 중간이면 탐색해야하 한다는 부분이 존재
Array | Linked-List | |
탐색 | O(1) | O(n) |
삭제 | O(n) | O(1) |
배열은 탐색할때, 인덱스 값을 알기 때문에 바로 접근이 가능하지만 삭제 하는 경우에는 그 값을 찾아서 삭제를 하고 나머지 값을 움직여놔야하기 때문에 오래걸립니다. ( 단, 처음과 끝은 O(1) )
반대로 링크드 리스트는 연결이 되어있기때문에 계속 따라가서 그 값을 찾아야하지만, 삭제 혹은 삭제는 처음 과 끝일 경우에는 바로 확인이 가능하니 쉽지만, 중간에 있는 부분은 그 값을 찾는데 일일이 확인해야하기 때문에 시간이 조금 걸립니다.
728x90
'항해 일지' 카테고리의 다른 글
CORS 란? (0) | 2022.12.18 |
---|---|
정규화 (0) | 2022.12.18 |
시간 복잡도와 공간 복잡도 (0) | 2022.12.18 |
var, let, const 삼총사 (0) | 2022.12.17 |
스택, 큐는 어떤 아이들인가? (0) | 2022.12.17 |