알고리즘의 분석: 시간복잡도 인프런 - 권오흠 강사님의 자료를 인용했습니다. PPT자료링크 https://s3.ap-northeast-2.amazonaws.com/inflearnattachment/algorithm/chap01_time_complexity.pdf > 알고리즘의 분석알고리즘의 자원(resource) 사용량을 분석 자원이란 실행 시간, 메모리, 저장장치, 통신 등 여기서는 실행시간의 분석에 대해서 다룸 >시간 복잡도(tiem complexity) 1.실행시간은 실행환경에 따라 달라짐 하드웨어, 운영체제, 언어, 컴파일러 등 2.실행 시간을 측정하는 대신 연산의 실행 횟수를 카운트 3.연산의 실행 횟수는 입력 데이터의 크기에 관한 함수로 표현 4.데이터의 크기가 같더라도 실제 데이터에 따라서 ..
동적메모리할당변수를 선언하는 대신 프로그램의 요청으로 메모리를 할당 dynamic memory allocationmalloc 을 호출하여, 동적메모리 할당을 요청하면 요청하는 요구하는 크기 메모리 할당 malloc 함수int *pp=(int*)malloc(40)(int *) 부분은 malloc이 반환하는 주소는 타입이 업는 주소(void *)이다. 정수들을 저장하기 위해 이것을 int * 로 변환할당받을 크기를 byte단위로 지정. 여기서 10개의 정수를 저장하기 위해 40바이트를 요청하였다.int * array=(int *)malloc(4*sizeof(int)); int * tmp=(int *)malloc(8*sizeof(int)); int i; for(i=0;i
메모리컴퓨터 메모리 ->데이터 보관 장소바이트(8 bits) 단위로 주소가 지정모든 변수는 주소를 가진다.포인터포인터란 메모리주소를 값으로 가지는 변수이다.메모리주소? => 정수type-name * variable-name;ex) int * ptr; 연산자 &는 변수로부터 그 변수의 주소를 추출하는 연산자 int * ip -> 포인터 변수 y= *ip ->ip라는 포인터 변수에 들어있는 주소에 해당하는 값을 y에 넣음. 아래 예제로 살펴보면 ip 포인터 변수의 값은 1028이고 1028주소에 해당하는 값은 1이므로y =*ip이면 y에는 1이 들어가게 된다. 포인터와 배열배열의 이름은 배열의 시작 주소를 저장하는 포인터 변수이다int calculate_sum(int * arr)int calculate_su..