본문 바로가기

자료구조, 알고리즘

(2)
[자료구조] 배열(array) 자료구조 - 배열자료구조론의 가장 기초적이고 가장 간단한 형태인 배열이다. 배열은 같은 크기, 같은 형태의 데이터를 나열해놓은 데이터를 말한다.좌표, 행렬 등에 활용되며,1차원 배열, 2차원 배열, 희소행렬 등 다양한 형태로 응용가능하다. 데이터형태 및 활용예배열은 메모리의 연속된 공간에 데이터를 저장한다.인덱스를 통해 데이터 위치를 확인하고 접근(액세스)한다. //C사용 예 int sample[5] = { 11, 22, 33, 44, 55 }; // int형의 크기가 5인 배열을 선언하고 값을 초기화 한다. 인덱스는 0~4까지 사용가능 printf("%d\n", sample[0]); //인덱스 0번 값을 출력(배열의 첫번째 값) -> 출력값 : 1printf("%d\n", sample[3]); //인덱..
알고리즘의 요구조건(정의)과 분석(빅오 표기법, 빅오메가 표기법) 알고리즘의 요구조건(정의)알고리즘은 입력, 출력, 명확성, 유효성, 유한성이 요구된다. ◎ 입력 : 알고리즘은 입력값이 0개 이상이어야 한다. 즉 입력값이 없는 알고리즘도 존재한다는 의미이다.◎ 출력 : 알고리즘은 출력값이 1개 이상이어야 한다. ◎ 명확성 : 수행 과정은 명확해야 하고 모호하지 않은 명령어야 한다.◎ 유효성(효율성) : 알고리즘은 실행가능하여야 한다. ◎ 유한성(종결성) : 알고리즘은 반드시 종료되어야 한다. 유한성은 알고리즘과 프로그램의 차이이다. 알고리즘은 종료되어야 하지만 프로그램은 종료되지 않아도 된다. 알고리즘의 분석(복잡도와 복잡도의 표기법)컴퓨터공학에서는 알고리즘을 얼마나 빠르고, 메모리가 적게 소모되는지를 수학적으로 분석한다.분석방법은 시간복잡도와 공간복잡도로 나뉜다. ◎..