12/05/2006 Conjuntos em Python
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
- 2comentários
- Posted under codes, docs, home, python
Permalink #
Sérgio Luiz Araújo Silva
disse
Como você vê a evolução do python em cursos superiores no Brasil?
Permalink #
elm
disse
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.