본문 바로가기
C# 공부

[자료구조] 배열(Array)

by Dev_Hugh 2023. 6. 20.
728x90
반응형

배열

-연속적인 메모리상에 동일한 타입(or 그의 파생타입)의 요소를 일렬로 저장하는 자료구조

-인덱스를 사용하여 직접적으로 엑세스 가능

-고정된 크기를 갖는다 -> 초기화시 해당 크기 그대로 유지 (중간에 새로 사이즈를 바꾸지 않는다면)

 

배열의 시간 복잡도

-배열의 사이즈와 상관없이 한 요소에 접근하는 시간은 인덱스 사용시 O(1)

-특정 요소를 찾기 위해선 배열의 크기 n에 대하여 O(n)

 

배열 최적화

-정렬된 배열에서 값을 찾는 경우, Binary Search를 이용하여 O(long n) 가능

 

배열 사용법

-ex) 1부터 10까지 합을 출력하는 프로그램

class Program
{
    static void Main(string[] args)
    {
        int[] numArray = new int[10];
        int sum = 0;
        for(int i = 0; i < numArray.Length; i++)
        {
            numArray[i] = (i + 1); //1부터 9까지 넣기
        }
        for(int i = 0; i < numArray.Length; i++)
        {
            sum += numArray[i];
        }
        Console.WriteLine(sum);
    }
}

 

728x90
반응형

'C# 공부' 카테고리의 다른 글

[자료구조] 시간 복잡도 정리  (0) 2023.06.21
[자료구조] 동적 배열(Dynamic Array)  (0) 2023.06.21
garbage_collection  (0) 2021.08.29
thread  (0) 2021.08.28
serializable  (0) 2021.08.26