CS(Computer Science) 24

컴퓨터의 구성

컴퓨터의 구성 하드웨어 중앙처리장치(CPU) 기억장치 입출력장치 소프트웨어 시스템 소프트웨어 응용 소프트웨어 시스템 버스 데이터 버스 주소 버스 제어 버스 컴퓨터의 구성 컴퓨터는 기본적으로 읽고 처리한 뒤 저장하는 과정으로 이루어짐 (READ → PROCESS → WRITE) 이 과정을 진행하면서 끊임없이 주기억장치(RAM)과 소통한다. 이때 운영체제가 64bit라면, CPU는 RAM으로부터 데이터를 한번에 64비트씩 읽어온다. 하드웨어(HardWare) : 컴퓨터를 구성하는 기계적 장치 소프트웨어(SoftWare): 하드웨어의 동작을 지시하고 제어하는 명령어 집합 펌웨어(FirmWare) : 하드웨어와 소프트웨어의 특성을 동시에 가지고 있으며, 다른 소프트웨어들보다 우선적으로 하드웨어의 기본적 동작을 ..

삽입 정렬

정의 2번째 원소부터 시작하여 그 앞(왼쪽)의 원소들과 비교하여 삽입할 위치를 지정한 후, 원소를 뒤로 옮기고 지정된 자리에 자료를 삽입하는 정렬 알고리즘 동작 과정 정렬은 2번째 위치(index)의 값을 temp에 저장한다. temp와 이전에 있는 원소들과 비교해 삽입해나간다. 1번으로 돌아가 다음 위치(index)의 값을 temp에 저장하고, 반복한다. Python 코드 def insert_sort(x): for i in range(1, len(x)): j = i - 1 key = x[i] while x[j] > key and j >= 0: x[j+1] = x[j] j = j - 1 x[j+1] = key return x Java 코드 void insertionSort(int[] arr) { for(..

선택 정렬

정의 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘 동작 과정 주어진 배열 중에 최소값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다. 맨 처음 위치를 뺀 나머지 배열을 같은 방법으로 교체한다. Python 코드 def selectionSort(x): length = len(x) for i in range(length-1): indexMin = i for j in range(i+1, length): if x[indexMin] > x[j]: indexMin = j x[i], x[indexMin] = x[indexMin], x[i] return x Java 코드 void selectionSort(int[] list) { int indexMin, temp; for..

거품 정렬

정의 서로 인접한 두 원소의 대소를 비교하고, 조건에 맞지 않다면 자리를 교환하며 정렬하는 알고리즘 동작 과정 1회전에 첫 번째 원소와 두 번째 원소, 두 번째 원소와 세 번째 원소.. n-1번째 원소와 n번째 원소를 비교하여 조건에 맞지 않으면 서로 교환한다. 1회전 수행시 가장 큰 원소가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 원소는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 원소까지는 정렬에서 제외된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어난다. Python 코드 def bubble_sort(arr): for i in range(len(arr) - 1, 0, -1): for j in range(i): if arr[j] > arr[j + 1..