해시맵 썸네일형 리스트형 [면접 대비] C를 사용한 해시 맵 구현 size_t hash_65599(const char* string, size_t len) { size_t i; size_t hash; hash = 0; for(i = 0; i > 16); } 충돌까지 고려한 해시 맵 예 int add(const char* key, int value, size_t (*hash_func)(const char*, size_t)) { size_t i; size_t start_index; size_t hash_id; hash_id = hash_func(key, strlen(key)); start_index = hash_id % BUCKET_SIZE; i = .. 더보기 [포프 tv 복습] C 자료구조 기초 자료구조 기초 자료구조란? - 컴퓨터에서 여러 자료들을 조직적, 체계적으로 저장하는 방법 - 보통 동일한 자료형을 여럿 저장하는 ㅜㄱ조를 의미 - 자료구조에 따라 요소들 사이의 관계를 정의하는 규칙이 있음 - 다음 요인에 따라 상황마다 보다 효율적인 자료구조가 존재 - 데이터에 접근하는 빈도 - 데이터에 접근하는 방법(ex. 삽입, 검색, 읽기, 지우기 등) 자료구조의 효율성 - 효율성은 주로 시간 복잡도를 말함 - 공간 복잡도를 포함하는 경우도 있음 - 따라서 주로 Big-O 표기법을 사용 - 보통 효율성을 논할 때는 하드웨어 최적화를 고려 안 한 이론이 전부 - 적은 용량의 데이터는 그렇지 않을 수 있음 배열 메모리 한 덩어리로 표현 가능한 가장 간단한 자료구조 여러 자료들을 그 메모리 덩어리 안에 .. 더보기 이전 1 다음