해싱이라는 것은 기본적으로 흩어뜨려 놓는다는 뜻입니다. 자료를 흩어놓음으로써 메모리는 더 많이 차지하지만 더 빨리 찾을 수 있지요. 예를 들어 100개의 자료가 있고 그 중에서 어떤 한 개의 자료를 찾는다고 할 때 최대 100번까지 찾아봐야 합니다. 하지만 해싱을 이용한다면 최대 10이나 5번만에도 자료를 찾을 수 있습니다. 메모리를 많이 사용하면 많이 사용할 수록 빨리 찾을 수 있지요. 예를 들어 번호로 이름을 찾는 경우를 생각해 보지요. struct data { int number; char name[128]; char *next; } 와 같은 구조체가 있다고 했을 때 해싱을 사용하지 않으면 다음과 같이 구현되지요. struct data *head; int add_nohash(int number,ch..