| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 힙영역
- 기술면접
- Queue
- 멀티쓰레드
- static_cast
- 스택
- 해쉬맵
- list
- 큐
- 프래그멘테이션
- thread
- std::map
- 자료구조
- MonoBehaviour
- 객체지향
- 공부
- 스택영역
- 인프런
- 배열
- vector
- map
- std::unordered_map
- 차이점
- 반복문
- 트리
- 벡터
- 리스트
- 알고리즘
- c#
- rookiss
- Today
- Total
목록list (4)
호빵의 IT 개발소
리스트(List) vs 배열(Array) 차이점구조리스트: 연결 리스트(노드 + 포인터)배열: 고정된 크기의 연속된 메모리 공간크기 조절리스트: 동적 크기, 노드 추가로 확장배열: 정적 배열은 고정 크기, 동적 배열은 재할당 필요접근 속도리스트: 순차 접근 O(n)배열: 인덱스 직접 접근 O(1)삽입/삭제리스트: 위치 알고 있으면 빠름 (O(1))배열: 중간 삽입/삭제는 느림 (O(n))메모리리스트: 포인터 추가 저장 필요 → 메모리 사용 많음배열: 포인터 없이 값만 저장 → 메모리 효율 좋음 면접 스타일 답변 예시:배열은 연속된 메모리 공간을 사용하는 구조로 인덱스를 통한 접근이 빠르며 메모리 사용이 효율적입니다.반면 리스트는 포인터를 이용해 각 노드를 연결하는 방식으로 구성되어 있어 삽입과 삭제가 ..
리스트(List) vs 벡터(Vector) 차이점구조리스트: 연결 리스트(Linked List), 노드 간 포인터로 연결벡터: 동적 배열(Dynamic Array), 연속된 메모리 공간 사용접근 속도리스트: 순차 접근 → O(n)벡터: 인덱스로 직접 접근 → O(1)삽입/삭제리스트: 중간 삽입/삭제 빠름 (O(1), 위치 알 경우)벡터: 끝 삽입은 빠르지만, 중간은 느림 (O(n))메모리리스트: 포인터 추가 저장 → 메모리 사용 많음벡터: 연속된 공간 사용 → 메모리 효율 좋음 면접 스타일 답변 예시:리스트는 연결 리스트 기반으로 구성되어 노드 간 포인터를 통해 연결되며 중간 삽입이나 삭제가 빠른 반면 인덱스 접근은 느립니다.반면 벡터는 동적 배열로 구현되어 있어 연속된 메모리 공간을 사용하고 인덱스를..
List에서 at(index)를 구현한다면 연결 리스트 기준으로:목표:at(index)는 해당 인덱스에 있는 노드의 데이터를 반환하는 함수구현 로직 (단일 연결 리스트 기준):T at(int index) { Node* curr = head; int i = 0; while (curr != nullptr && i next; i++; } if (curr == nullptr) throw std::out_of_range("Index out of range"); return curr->data;} 주의점0 ≤ index 연결 리스트는 순차 접근이므로 O(n) 시간 복잡도 요약: at(index)는 head부터 차례로 이동하면서 index 번째 노드를 찾아 반환하는 방식으..