티스토리챌린지
-
[알고리즘] 정렬(3) - 선택 정렬CS/알고리즘 2024. 11. 24. 14:13
선택 정렬(Selection Sort) 정렬 방식리스트의 범위 안에서 최솟값을 찾아 맨 앞으로 보내면서 정렬하는 방식이다.정렬 과정해당 예제에서는 오름차순으로 한다.리스트의 정해진 범위 안에서 최솟값을 찾는다.처음에는 리스트 전체를 탐색하고, 이후 패스마다 앞부분(이미 정렬된 부분)을 제외하고 탐색 범위를 줄인다.찾은 최솟값을 현재 범위의 첫 번째 값과 교체한다.탐색 범위를 하나씩 줄이며 이 과정을 반복한다. 선택 정렬 성능최악의 경우맨 앞부분부터 최솟값을 채워나가는데, 각 루프마다 최솟값을 찾기 위해 (위치가 확정되지 않은 요소들 수)-1만큼 비교를 수행한다.$$ (n-1)+(n-2)+...+2+1 = n(n-1)/2 => O(n^2) $$$$ ∵ 시간 복잡도: O(n^2) $$ 최선의 경우최선의 ..
-
[알고리즘] 정렬(2) - 삽입 정렬CS/알고리즘 2024. 11. 23. 14:46
삽입 정렬(Insort Sort)정렬 방식리스트에서 순차적으로 순회하면서 정렬이 안 된 부분을 찾고, 해당 부분을 적절한 위치에 삽입하여 정렬하는 방식이다.정렬 과정해당 예제에서는 오름차순으로 한다.정렬 대상 범위 선정정렬 대상의 범위는 2개로 시작해서 '자료구조 크기-1'로 1씩 커진다.마지막 요소가 정렬 범위 안에서 최댓값인지 아닌지 확인한다.최댓값이면 그대로 둡니다.최댓값이 아니면 정렬 범위 안에서 위치시킬 곳을 찾은 다음, 해당 부분의 오른쪽 데이터들을 범위 안에서 1칸씩 오른쪽으로 옮기고 빈 부분에 데이터를 삽입합니다.2번째 루프는 이미 정렬이 되어있다.삽입 정렬의 성능최악의 경우 - 역순으로 정렬될 경우루프마다 범위 안 데이터를 모두 비교하고 위치 변경을 한다.$$ 비교 횟수: 1+2+..+(..
-
[Linux] 파일 시스템Linux/FUSE 2024. 11. 17. 16:00
파일(File)- 컴퓨터 시스템에서 데이터를 저장하고 관리하기 위한 기본 단위- 주로 프로그램(소스, 목적 프로그램)과 자료를 나타낸다.- 보조저장장치 같은 물리적 저장 장치에 저장된다. 디렉터리(Directory)- 컴퓨팅에서 파일을 분류하기 위해 사용하는 이름공간- 다른 디렉터리와 파일을 둘 수 있다.- 디렉터리는 디렉터리 안에 또 다른 디렉터리(서브 디렉터리)를 둘 수 있어 트리 구조를 형성한다. 파일 시스템(File System)- 컴퓨터에서 파일, 자료 등을 쉽게 찾고, 접근할 수 있도록 관리하기 위한 구조 및 체제- 구현은 저장장치 상에서 된다. 파일 시스템 확인Windows에서 파일 시스템 확인 방법- Win + R로 실행 창 열고 diskmgmt.msc 입력하기ex) NTFS Linux..