배열2 List(리스트)와 Array(배열) List(리스트)- 리스트는 데이터를 일직선으로 줄줄이 정렬한 데이터 구조입니다.장점 : 데이터의 추가, 삭제 쉬움단점 : 데이터 조회 느림 - 데이터들은 각각 포인터를 가지고, 이 포인터는 각각 데이터의 다음 데이터의 메모리 주소를 가리킵니다. - 리스트는 포인터를 이용하므로 메모리상에서 연결된 위치에 있을 필요가 없습니다. 따라서 분산되어 배치됩니다. - 데이터 추가 방법A와 B 데이터 사이에 C라는 데이터를 추가할 때, A의 포인터가 C의 메모리 주소를 가리키게 하고,C의 포인터가 B의 메모리 주소를 가리키게 하면 끝이다. - 데이터 삭제 방법A와 B와 C가 연결되어 있을 때, B를 제거하고자 한다.A의 포인터를 C의 메모리주소를 가리키면 해결된다. 따라서 List에서의 시간복잡도는 다음과 같다.데.. CS 지식/자료구조_알고리즘 2025. 1. 7. Array vs LinkedList Array vs LinkedList Array(배열) 데이터들을 옆으로 나란하게 저장한다. 메모리 내의 연속된 주소에 저장한다. 사용하기 전 미리 할당을 받아 사용한다. -> 할당된 공간 사용하지 않는 경우, 메모리 자원 부족할 수 있다. -> 할당된 공간보다 더 필요한 경우, 새로 만들어 복사해야 한다. 값의 입출력 용이, 중간에 값 삽입/삭제 불편 속도가 빠르다. ex) 한 학급의 학생들의 키 (학급에 학생을 삽입/삭제 할 경우가 많지 않기 때문이다.) KEY WORD : 정적 할당, 연속 저장 LinkedList(연결리스트) 저장된 값과 다음 값을 연결하면서 값들을 저장한다. 필요한 만큼 할당 받아서 연결한다. 데이터 중간에 삽입/삭제가 용이하다. 물리적 속도가 느리다. ex) 도서관리 프로그램 (.. CS 지식/자료구조_알고리즘 2022. 6. 24. 이전 1 다음 💲 추천 글