스택

자료구조

스택 Stack

스택 Stack 개념 * Last in first out. 가장 먼저 들어간 자료가 가장 나중에 나오는 구조이다. 제약 * 입구가 하나인 형태로 자료가 차곡차곡 쌓인다. * 가장 위에 자료만 접근 가능하다. (중간이나 밑에서 자료 접근 불가) 삽입 * 가장 위에 자료를 올려두면 됨. Push라고 함. * 시간 복잡도 = O(1) 제거 * 가장 위에 자료를 제거하면 됨. Pop이라고 함. * 시간복잡도 = O(1) 검색 * Push와 Pop만 할 줄 아는 스택에서 검색은 정신 나간다. 1. 원하는 걸 찾을 때까지 Pop을 한다. (Pop 데이터는 다른 곳에 저장) 2. 원하는 걸 찾았다면 다시 차곡차곡 쌓는다. * Pop 하는 데에 O(n), 원하는 자료는 찾았으면, Push 하는 데에 O(n) * 시간 ..

C

malloc 함수, calloc 함수

void* malloc(size_t size); 매개변수(인자) size_t size = size 바이트만큼 메모리를 할당받는다. 반환값(리턴값) * 주소를 반환한다. (void*) 실패 시 NULL 설명 * 스택 메모리를 사용하기 위한 함수. * malloc은 memory allocation이라는 뜻이다. * #include 가 있어야 한다. * 할당/해제를 수동으로 해야 하며 힙보다 느리다. * 할당받은 메모리에는 쓰레기 값이 들어있다. 할당을 실패했다면? * 함수가 실패했다면 NULL을 반환하니 실패 여부는 쉽게 알 수 있다. 하지만 malloc 같은 동적 메모리 할당 함수의 실패는 우리가 해결할 수 없는 경우가 많다. * 메모리 공간이 부족해서 함수가 NULL을 반환했다면 우리가 뭘 어쩌겠는가? ..

스누징어
'스택' 태그의 글 목록