[Unity]TIL (53) | 2023.10.11 | 배열, 리스트, 연결 리스트

kjg5370·2023년 10월 11일
0

TIL

목록 보기
53/91
post-thumbnail

오늘 배운 것

  • 배열 (Array):

    배열은 고정된 크기의 요소 집합을 나타내는 데이터 구조.

    배열을 생성할 때 크기를 지정하고, 그 크기만큼의 요소를 저장할 수 있음.

    요소의 인덱스를 통해 특정 요소에 접근하거나 값을 변경할 수 있음.

    배열의 크기는 변경할 수 없으며, 요소를 추가하거나 삭제하기가 어려울 수 있음.

    배열은 연속적으로 메모리를 할당.

  • 리스트 (List):

    리스트는 동적 크기의 요소 집합을 나타내는 데이터 구조.

    크기를 동적으로 조절할 수 있으며, 요소를 추가하거나 삭제하는 것이 쉬움.

    리스트는 배열보다 유연하며, 동적으로 크기를 조절할 수 있으므로 요소를 동적으로 관리하기에 적합.

    유니티에서는 C#의 List 클래스를 주로 사용합니다.

  • 연결 리스트 (Linked List):

    연결 리스트는 데이터 요소가 노드로 구성된 데이터 구조로, 각 노드는 데이터와 다음 노드를 가리키는 포인터(또는 참조)를 포함.

    연결 리스트는 메모리가 연속적으로 할당되지 않으며, 요소에 접근하기 위해서는 노드를 순차적으로 따라가야 함.

    연결 리스트는 요소의 추가 및 삭제가 효율적이지만, 특정 요소에 직접 접근하는 데는 시간이 더 걸릴 수 있음.

기억 할 것

  1. 성능 차이:
    배열은 빠른 요소 접근을 제공하지만 크기가 고정되어 있어 변경이 어려움.

    리스트는 크기를 동적으로 조절할 수 있으며 요소 추가 및 삭제가 용이하나 배열에 비해 조금 느릴 수 있음.

    연결 리스트는 요소 추가 및 삭제가 효율적이지만 순차적 접근이 필요하며 메모리 효율성이 낮음.

  2. 메모리 할당:

    배열은 연속 메모리 할당을 사용하며 큰 데이터 집합을 다루는 데 유용할 수 있음.

    리스트는 크기가 동적으로 조절되며 메모리 관리 측면에서 배열보다 효율적.

    연결 리스트는 비연속 메모리 할당을 사용하며 대규모 데이터 집합 처리에는 비효율적.

  3. 데이터 구조 선택:

    요소의 동적 추가/삭제가 빈번한 경우 리스트를 고려하고, 빠른 요소 접근이 필요한 경우 배열을 추천.

  4. Unity에서의 활용:

    Unity에서는 주로 C#의 List 클래스를 활용하며 배열과 리스트가 일반적으로 사용되며, 연결 리스트는 특수한 경우에만 필요할 수 있음.

  5. 코드 안정성:

    리스트와 연결 리스트는 크기가 동적으로 조절되므로 인덱스 오버플로우나 언더플로우에 대한 주의가 필요.

    적절한 예외 처리와 범위 체크 중요함.

내일 할 일

  • 개인과제 리드 미 작성
  • 개인과제 제출 및 회고
profile
학생입니다

0개의 댓글