A última estrutura de dados que nós estudaremos neste tutorial é os gráficos. Os gráficos são similares às árvores exceto que, não têm tantas como limitações. No tutorial precedente, nós vimos que cada árvore tem um nó da raiz, e todos os outros nós na árvore são crianças de um nó perticular. Nós vimos também que os nós podem ter muitas crianças mas somente um pai. Quando nós relaxamos estas limitações, nós começamos a estrutura de dados do gráfico. A respresentação lógica de um gráfico típico pôde olhar algo como a figura mostrada abaixo:
Observar que nosso gráfico não tem nenhum nó da raiz como a estrutura de dados da árvore. Instead, todo o nó pode ser conectado com qualquer outro nó no gráfico. Os nós não têm nenhum relacionamento desobstruído da pai-criança como nós vimos na árvore. Instead os nós estão chamados como vizinhos se forem conectados por uma borda. Por exemplo, o nó A acima tem três vizinhos: B, C, e D.
Não é duro imaginar como a estrutura de dados do gráfico poderia ser útil para representar os dados. Talvez cada um dos nós acima poderia representar uma cidade e as bordas que conectam os nós poderiam representar as estradas. Ou nós poderíamos usar um gráfico representar uma rede de computador onde os nós fossem estações de trabalho e as bordas fossem as conexões de rede. Os gráficos têm assim muitas aplicações na informática e na matemática que diversos algoritmos estiveram escritos para executar as operações padrão do gráfico tais como procurarar o gráfico e encontrar o Shortest-Path entre nós de um gráfico.
Agora que você tem uma idéia básica da respresentação lógica dos gráficos, vamos fazer exame de um olhar no one-way que os gráficos estão representados geralmente nos computadores. A respresentação é chamada uma matriz da adjacência, e usa a disposição bidimensional armazenar a informação sobre os nós do gráfico. A matriz da adjacência para nosso gráfico é dada abaixo.
|
|
-- |
1 |
1 |
1 |
-- |
-- |
1 |
-- |
1 |
-- |
1 |
-- |
1 |
1 |
-- |
-- |
-- |
-- |
1 |
-- |
-- |
-- |
1 |
1 |
-- |
1 |
-- |
1 |
-- |
-- |
-- |
-- |
-- |
1 |
-- |
-- |
|
Observar que a matriz mostrada acima tem seis fileiras e seis colunas etiquetadas com os nós do gráfico. Nós marcamos um “1” em uma pilha se existir uma borda de dois nós que posicionam essa pilha. Por exemplo, desde que nós temos uma borda entre A e B, nós marcamos um “1” nas pilhas posicionadas por A e por B. Estas pilhas são marcadas com uma obscuridade - fundo cinzento na matriz da adjacência. Com nossa matriz da adjacência, nós podemos representar cada borda possível que nosso gráfico pode ter.
|
Keywords: Os gráficos que programam, gráfico c++, programação do gráfico, representando graficamente a calculadora que programa, gráficos em c++, gráfico de programação linear, gráficos que programam, representam graficamente o tutorial, gráficos java