배열, 리스트

이종찬·2023년 4월 25일
0
post-thumbnail
post-custom-banner

배열

메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조입니다. 인텍스를 통해 참조할 수 있으며 선언한 자료형의 값만 저장이 가능합니다.

✅ 특징

  • 인덱스를 사용하여 바로 값에 접근 가능
  • 새로운 값을 추가 및 삭제가 어렵다. 인덱스 주변에 있는 값을 이동시키는 과정이 필요한데 해당 과정이 까다로운편이다.
  • 크기를 선언할 때 지정할 수 있으며 추후에 변경하지 못한다.

리스트

값과 포인터를 묶은 노드라는 것을 포인터로 연결한 자료구조입니다.

✅ 특징

  • 인덱스가 없어 포인터의 시작부터 순서대로 접근해야 한다.
  • 배열과는 다르게 데이터 추가 및 삭제가 용이하다.
  • 크기를 지정하지 않아도 된다.
  • 선언형이 아닌 만큼 배열보다 구조가 복잡하다.

🤔 어떤 상황에서 써야할까?

배열과 리스트는 알고리즘 구현에 무조건 사용됩니다. 문제에 따라 잘 사용할 필요가 있습니다.배열의 장점은 인덱스를 활용하여 원하는 자료를 단번에 찾는 조회에 있습니다. 리스트의 장점은 배열 같은 선언형에서 하기 힘든 삽입,삭제에 유리합니다. 또한 절대적인 순서가 아닌 상대적인 순서를 지정하는 것 역시 장점입니다.

코테 문제를 푸는 것에서 가장 중요한게 제한 시간내에 문제를 해결하는 것입니다. 때문에 어떤 자료구조를 선정하여 문제를 더 빠르고 효율적으로 해결하는 것이 중요합니다.

profile
왜? 라는 질문이 사라질 때까지
post-custom-banner

0개의 댓글