#라이브러리 없이 코딩하기 구현 알고리즘 Merge Sort Quick Sort 다음번에 시도해 보기 퀵소트로 구현하면 시간을 더 단축시킬 수 있는 문제인 것 같으니 도전해보기 (머지소트 실행시간 : 80ms) + 퀵소트는 시간을 단축시키지는 않았지만, 머지소트에 사용되는 포인터 어레이 만큼의 메모리 사용량을 줄일 수 있었다. (아래 : merge sort, 위 : quick sort) 소스 코드 (merge sort) #include #define MAX_NODE 100001 struct Node { char name[11]; int korean, english, math; } nodes[MAX_NODE], *nt[MAX_NODE], *tmp[MAX_NODE]; void mstrcpy(char* dst..
은 바로 다음 주 미래의 나 #라이브러리 없이 코딩하기 구현 알고리즘 Hash Merge Sort 생각해 볼 거리 Quick Sort로 구현해보기 소스 코드 #include #define MAX_TABLE 1000017 struct Hash { char name[6]; bool in; Hash* next; } h[MAX_TABLE], * ht[MAX_TABLE], * workin[MAX_TABLE]; unsigned int h_idx = 0; unsigned long getHash(const char* str) { unsigned long hash = 5381; int c; while (c = *str++) { hash = (((hash = 0) { ht[idx++] = workin[s1++]; } el..