Lang:GCC
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <stdlib.h>#define MAX_WORD_LEN 256#define ALPHABET_SIZE 26typedef struct node {unsigned int count;struct node *children[ALPHABET_SIZE];} node, *pnode;pnode create_node(void){return (pnode)calloc(1, sizeof(node));}pnode create_tree(void){return create_node();}void find_or_insert(char *s, pnode tree){pnode q, p = tree;int i, c;i = 0;while(c = s[i++]) {if(q = p->children[c-'a']) {q->count++;} else {