Skip to content

Latest commit

 

History

History
15 lines (7 loc) · 1.76 KB

File metadata and controls

15 lines (7 loc) · 1.76 KB

Array-LinkedList

배열(Array)과 연결 리스트(Linked List)는 자료구조 중 가장 기본적이고 널리 사용되는 구조입니다. 둘 다 데이터를 저장하고 처리하는 방법을 제공하지만, 그 구조와 동작 방식에 차이가 있습니다.

배열(Array)은 일정한 크기의 연속된 메모리 공간에 데이터를 저장합니다. 배열에서는 인덱스를 사용하여 각 데이터에 접근할 수 있습니다. 이러한 특성으로 인해 배열은 데이터의 랜덤 액세스(Randam Access)에 용이합니다. 그러나 데이터를 추가하거나 삭제하는 경우, 해당 위치에서의 데이터 이동이 필요하므로 비효율적인 경우가 있습니다.

반면, 연결 리스트(Linked List)는 각 데이터와 다음 데이터의 주소를 가리키는 포인터(Pointer)를 이용하여 데이터를 연결합니다. 연결 리스트에서는 데이터의 추가와 삭제가 매우 용이합니다. 그러나 데이터를 찾기 위해서는 포인터를 따라 순차적으로 탐색해야 하므로 랜덤 액세스는 비효율적입니다.

따라서, 배열과 연결 리스트는 데이터 접근 방법에서 차이가 있습니다. 배열은 랜덤 액세스에 용이하고, 연결 리스트는 순차적인 데이터 처리에 더 적합합니다.

Java에서 배열은 [] 기호를 사용하여 선언하며, java.util.ArrayList와 같은 클래스를 사용하여 동적 배열을 구현할 수 있습니다. 연결 리스트는 java.util.LinkedList 클래스를 사용하여 구현할 수 있습니다.

요약하자면, 배열은 인덱스를 사용하여 각 데이터에 랜덤 액세스할 수 있으며, 연결 리스트는 포인터를 이용하여 데이터를 연결하고 추가/삭제가 용이합니다.