Computer Science

장준휴·2023년 10월 28일
2

CS

목록 보기
1/3

Computer Science

컴퓨터 사이언스란?
문제 해결에 대한 학문이다. 여기서 문제 해결은 입력을 전달받아 출력을 만들어내는 일종의 함수 혹은 알고리즘이라 말 할 수 있다.

2진법

2진법은 다들 알다시피 0과1로 수를 표현하는 방법이다. 컴퓨터는 0과 1로 이루어진 2진법으로 소통을 한다.
10을 2진법으로 한다면 1010로 표현 할 수 있고, 각 자릿수는 1개의 비트(bit)라고 말한다. 이러한 비트가 8개가 모이면 1바이트(byte)라 말하며 256가지의 데이터를 표현할 수 있다.

  • kb(킬로바이트) : 1000byte
  • mb(메가바이트) : 1000kb
  • gb(기가바이트) : 1000mb
  • tb(테라바이트) : 1000gb

현재는 기술이 발전하여 단위가 더 많이 만들어졌다.

알고리즘

알고리즘이란 입력에서 받은 자료를 출력 형태로 만드는 '처리과정'이다. 입력 데이터를 가공하기 위한 규칙들이 순서대로 나열되어 있다.
이러한 알고리즘은 정확성도 매우 중요하지만 '효율성'도 매우 중요하다.

시간복잡도

알고리즘을 작성할때 매우 중요한 작업이다. 알고리즘에서 '정확성'도 중요하지만 '효율성'도 매우 중요하다고 했는데, 시간복잡도가 '효율성'을 판단하는 중요한 지표가 된다.

'아무리 많이 걸려도 이 시간 안에는 끝날것'이라는 최악의 시간복잡도를 주로 기준으로 잡고있으며 이 표기를 빅-오(Big-O)로 표현하고있다.

예를들어 코드에 반복문이 존재하지 않고 입력과 출력만 있는 프로그램이라면 O(1)이라 표현하고, 만약 반복문이 겹쳐지지 않고 있는 프로그램이라면 O(n)이라 표현하고, 만약 2중으로 겹쳐진 반복문이 있다면O(n^2)라 표현한다.

O(n^2) : 선택정렬, 버블정렬
O(n) : 선형탐색
O(log n) : 이진 탐색

profile
나는야 토마토

0개의 댓글