자료구조 [Data Structure]4 [C#] 선형 자료구조 기초 목차 선형 자료구조와 비선형 자료구조 배열의 장단점 및 선언 동적 배열의 장단점 및 선언 연결 리스트의 장단점 및 선언 선형 자료구조와 비선형 자료구조 선형 자료구조란? 자료를 순차적으로 나열한 형태로 대표적으로 다음과 같은 자료구조 등이 있다. 배열 연결 리스트 스택 / 큐 비선형 자료 구조란? 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태로 대표적으로 다음과 같은 자료구조 등이 있다. 트리 그래프 배열의 장단점 및 선언 장점 연속된 공간을 사용 단점 자료의 추가/축소가 불가 public int[] data = new int[5] 동적 배열의 장단점 및 선언 장점 자료의 개수를 유동적으로 변경 가능 - 충분한 공간 할당 필요 연속된 공간을 사용 단점 중간에서 자료의 삽입/삭제가 발생할 경우 관련된 .. 2023. 8. 24. 빅오(Big-O) 표기법 알고리즘의 효율을 측정하기 위해 두 알고리즘 A와 B를 비교하는 경우, 두 알고리즘 사이의 실행 속도가 애매모호함 운영체제, 하드웨어 등 실행 환경에 의존적임 입력이 적은 구간과 많은 구간에서의 성능 차이가 확연 위와 같은 경우들에 대한 대안으로 Big-O 표기법을 사용한다. O(1) O(Log N) O(N) O(N Log N) O(N2) O(2N) O(N!) Big-O 표기법 수행되는 연산의 횟수를 '대략적으로' 판단 (ex. 1, N, N2, ...) public int Add(int n) { return n + n; } 위의 코드에서는 n + n의 연산이 한 번 이루어지기 때문에 연산 횟수는 1이다. public int Add(int n) { int sum = 0; for(int i = 0; i <.. 2023. 8. 22. [자료구조 / C++] 우선순위 큐 (Priority Queue)란? ▶ 우선순위 큐(Priority Queue)란? 우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조 -> 데이터를 우선순위에 따라 처리하고 싶을 경우 사용 자료구조 추출 데이터 스택(Stack) 가장 마지막에 삽입된 데이터 큐(Queue) 가장 먼저 삽입된 데이터 우선순위 큐(Priority Queue) 가장 우선순위가 높은 데이터 ▶ 구현 방법 1. 리스트를 이용하여 구현 2. 힙(Heap)을 이용하여 구현 구현 방법 삽입 시간 삭제 시간 리스트 O(1) O(N) 힙(Heap) O(logN) O(logN) N개의 데이터를 힙에 넣었다가 모두 꺼내는 작업만으로도 정렬이 수행됨 - 이 경우의 시간 복잡도는 O(NlogN) ▶ 기본 메소드 ˙push() : 우선순위 큐에 원소 추가 ˙pop() : 우.. 2022. 3. 29. 자료구조(Data Structure) 란? 프로그래머스의 코딩테스트 문제들을 풀이하고, 해석하기 위해서는 자료구조에 대한 이해가 기본이 되어야 한다고 판단하여 쉽게 찾아볼 수 있도록 본인 블로그에 정리하게 됨. 각각의 자료구조에 대한 자세한 내용은 나눠서 자세하게 공부할 예정 자료구조란? 저장된 데이터에 대한 작업을 보다 효율적으로 수행할 수 있는 방식으로, 컴퓨터에 데이터를 구성하고 저장하는 특수한 수단. 자료구조는 컴퓨터 과학 및 소프트웨어 엔지니어링 분야에서 광범위하고 다양한 사용 범위를 가지고 있음. 1. 배열(Arrays) 배열은 동일한 데이터 형식의 항목을 보유할 수 있는 고정 크기의 구조. 정수배열, 부동점 번호 배열, 문자열 배열 또는 배열의 배열(ex. 2차원 배열)일 수 있음. 배열은 인덱싱 되므로 임의의 액세스가 가능. 2. .. 2022. 3. 23. 이전 1 다음 반응형