본문 바로가기
반응형
[자료구조] 연결 리스트 연결리스트 정의- 연결리스트는 데이터와 포인터를 가지고 있는 노드를 한 줄로 연결하여 데이터를 저장하는 자료구조- 포인터는 다음이나 이전의 노드와 연결을 담당- 연속된 메모리 구조가 아닌 파편화된 메모리에서 유용하게 사용- 접근 시간 복잡도: O(N)- 탐색 시간 복잡도: O(N)- 삽입/삭제 시간 복잡도: O(1)연결리스트 종류- Single Linked List: 각 노드에 자료 공간과 한 개의 포인터 공간이 있고 각 노드의 포인터는 다음 노드를 가리킴- Doubly Linked List: 노드에 앞 노드의 메모리 주소를 보관하는 포인터를 추가해 앞의 노드와 뒤의 노드 모두 연결- Circular Linked List: Single Linked List의 마지막 노드의 포인터가 NULL이 아닌 헤드를.. 2024. 7. 19.
[코딩테스트] 배열 / 연결리스트 배열- 배열: 같은 타입의 원소들을 효율적으로 관리하기 위한 기본 자료형- 연속된 메모리를 이용한 자료구조- 탐색: O(1), 맨 뒤 삽입: O(1), 맨 앞/중간 삽입: O(N)- 배열 선택시 고려할점: 할당 가능한 메모리 크기 확인/중간 데이터 삽입 횟수 확인 배열 다루기#include int main(int argc, char** argv) { /** 배열 선언 및 초기화 * 배열 선언: type arr_name[size]; * 배열 초기화(기본값은 0): type arr_name[size] = {val1, ...}; */ int arr1[] = {1, 2, 3, 4, 5}; int arr2[5] = {1, 3, 4}; // 나머지는 0 int.. 2024. 7. 9.
반응형