Em uma das disciplinas que ministro, Algotimos e Estruturas de Dados III, consta o conteúdo de Teoria de Conjuntos aplicada em computação e Estruturas de Dados para Conjuntos. A primeira é a aplicação das teorias matemáticas de conjuntos nas linguagens de programação. O livro que utilizo [1] traz exemplos em Pascal. Pesquisando um pouco na internet encontrei exemplos em Python:
A outra matéria trata sobre conjuntos disjuntos [2]. Segundo [3] “algumas aplicações envolvem o agrupamento de n elementos distintos em uma coleção de conjuntos disjuntos. Duas operações importantes são encontrar o conjunto a que pertence um dado elemento e unir dois conjuntos.” Em C é possível desenvolver estas estruturas de dados utilizando listas ou usando árvores. O código da versão em C usando listas é
Além disso, fiz uma pesquisa na internet para encontrar uma implementação em Python. Encontrei a classe Grouper [4]. Um exemplo do uso da classe é:
Uma das aplicações dos conjuntos disjuntos é a determinação dos componentes conectados em um grafo não orientado.
A implementação deste algoritmo usando C e listas é:
E a implementação usando Python:
[1] http://www.temporeal.com.br/produtos.php?id=169855
[2] http://en.wikipedia.org/wiki/Disjoint-set_data_structure
[3] http://www.livrariasaraiva.com.br/produto/produto.dll/detalhe?pro_id=466688&ID=C8F434217D5051E1012260358
[4] http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/387776

Como você vê a evolução do python em cursos superiores no Brasil?
Olá Sérgio.
Olha, eu acho que anda meio “a passos de formiga” como diria minha avó
Ainda depende bastante da boa vontade de professores que influenciam seus alunos a pesquisar sobre a linguagem.
Mas já tem alguams universidades que estão usando mais, como é possível ver nesse link:
http://www.pythonbrasil.com.br/moin.cgi/PerguntasFrequentes/SobrePython#head-b910aafcf2f34a3172337e9f43e92ab9bd1faaa4
Eu espero que continue crescendo porque é uma linguagem muito boa para aprendizado.