본문 바로가기

반응형

array

<자료구조 알고리즘> 정렬 (삽입정렬) 정렬이란? 선형 자료구조(배열 등)의 원소들을 특정한 순서(오름차순 내림차순등)로 나열하는 것을 이야기 한다. 정렬 자체가 목적일 때도 있겠지만 대부분 검색등의 다른 알고리즘의 전처리 과정으로 사용되는 경우가 많다. 정렬알고리즘 종류 Permutaion Sort, Selection Sort , Bubble Sort , Quick Sort , Insertion Sort , Merge Sort 등 굉장히 많은 종류의 정렬알고리즘이 있다. 각 알고리즘의 방식과 구현방법, 시간복잡도를 알아보도록 하자. 이 글에서는 오름차순을 기준으로 설명하도록 하겠다. Insertion Sort (삽입 정렬) 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입하는 정렬 알고.. 더보기
<자료구조 알고리즘> 정렬 (버블정렬) 정렬이란? 선형 자료구조(배열 등)의 원소들을 특정한 순서(오름차순 내림차순등)로 나열하는 것을 이야기 한다. 정렬 자체가 목적일 때도 있겠지만 대부분 검색등의 다른 알고리즘의 전처리 과정으로 사용되는 경우가 많다. 정렬알고리즘 종류 Permutaion Sort, Selection Sort , bubble sort , Quick Sort , Insertion Sort , Merge Sort 등 굉장히 많은 종류의 정렬알고리즘이 있다. 각 알고리즘의 방식과 구현방법, 시간복잡도를 알아보도록 하자. 이 글에서는 오름차순을 기준으로 설명하도록 하겠다. Bubble sort (버블 정렬) 버블 정렬은 인접한 두 원소의 크기를 비교한는 방법의 정렬알고리즘이다. 배열의 앞에서 부터 두개의 원소의 크기를 비교하여 앞.. 더보기
<자료구조 알고리즘> 배열 ※ 이 글은 배열을 처음 배우시는 분들을 위한 글이 아닙니다. 배열이란? 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료구조 그냥 맨날 쓰는 그 배열 맞다. 근데 이 배열에도 종류가 있다. 그리고 그 종류에 따라 각 연산을 하는데 걸리는 시간복잡도가 달라진다. 배열의 종류에 따라 다음 연산에 걸리는 시간복잡도를 계산해 볼 것이다. - 인덱스가 i인 원소 접근 - i번째에 값 삽입(insertion), 삭제(deletion) - 마지막에 값 삽입,삭제 - 처음에 값 삽입, 삭제 종류 다음과 같이 분류해 볼 수 있겠다. 1. static array 2. dynamic array 1. Static Array 말 그대로 정적인 배열이다. 즉 한번 할당되고 나면 크기와 길이를 바꿀 수 없는 배열이다. c.. 더보기

반응형