Na faculdade utilizavamos o livro "Estruturas de Dados e Seus Algoritmos" do Jayme Luiz Szwarcfiter, na terceira edição (https://www.amazon.com.br/Estruturas-Dados-Algoritmos-Jayme-Szwarcfiter-ebook/dp/B073DN9HM2). Gostava bastante.
Fizemos alguns trabalhos em C utilizando os conceitos de árvore binária, e variações de listas.
Disponibilizei eles no github. Pode ser que te ajude.
https://github.com/tarfao/Faculdade/tree/master/2ano/aed/Trabalhos/Arvore (esse é um trabalho de árvore binária. Tem um pequeno probleminha nele quando remove algum nó do meio da árvore, daí ele crasha!)
https://github.com/tarfao/Faculdade/tree/master/2ano/aed/Trabalhos/Lista (aqui tem alguns trabalhos usando lista)
Se não estou enganado, os trabalhos fazem uso de uma lib gráfica (gfx), caso não consiga rodar utilizando ela, é só remover o trecho de código, colocar prints e fazer os desenhos a mão hehe, é até bom para fixar conceitos!!
Bons estudos!