Linked lists and Hash tables
Implementing a hash table can make lookups much faster. Practice by building a dictionary for a spell checker.
// simple node for linked list
typedef struct node {
char word[45];
struct node *next;
} node;
Practice: implement insert, search, and delete functions for linked lists.