急问,高级问题(250分)

  • 主题发起人 主题发起人 zhfhq
  • 开始时间 开始时间
Z

zhfhq

Unregistered / Unconfirmed
GUEST, unregistred user!
化学结构式是化学中最常见的一种图形信息。由于计算机不能直接处理非文字信息,通常将一个化学结构式看作图论的图,其中原子作为图的有色节点,键作为图的有色边,用图论的邻接矩阵描述一个化学结构式中原子和键的连接关系。用于描述化学结构式的邻接矩阵通常称为结构连接表,可以有多种形式。
领接矩阵如下,1代表节点相连 ,总共9个节点
原子 1 2 3 4 5 6 7 8 9
1 C x 1 0 0 0 1 0 0 0
2 C 1 x 1 0 0 0 1 0 0
3 C 0 1 x 1 0 0 0 0 0
4 C 0 0 1 x 1 0 0 0 0
5 C 0 0 0 1 x 1 0 0 0
6 C 1 0 0 0 1 x 0 0 0
7 C 0 1 0 0 0 0 x 1 1
8 O 0 0 0 0 0 0 1 x 0
9 O 0 0 0 0 0 0 1 0 x
问题:
对任意化学结构,找出其中的环原子。请设计解决这一问题的算法。
 
什么叫环原子。
 
實際上就是找圖上的環。例如苯(一個環6個點),奈(兩個小環,組成一個大的,有10個點)
應該是不管小環,只要大環吧。象甾類化合物這種複雜的東西只要說這些原子屬於這個環就是了,至於它們又屬於某個小環應該不要吧。
應該是設計幾個棧去走吧,圖論上應該有現成的算法。問LEECHANGE吧。
 
找环问题很简单啊。
若A到B直接连接有一条边,则去掉,再求A到B的连通性,若还连通,则找到了一个A->B的环。
 
深度优先遍历一次即可吧
 
后退
顶部