数据结构在有机化学中的应用_第1页
数据结构在有机化学中的应用_第2页
数据结构在有机化学中的应用_第3页
数据结构在有机化学中的应用_第4页
数据结构在有机化学中的应用_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构在有机化学中的应用数据结构在有机化学中的应用星光13祝云篪 2013年10月9日,2013年诺贝尔化学奖在瑞典揭晓,犹太裔美国理论化学家马丁卡普拉斯(Martin Karplus)、美国斯坦福大学生物物理学家迈克尔莱维特(Michael Levitt)和南加州大学化学家亚利耶瓦谢尔(Arieh Warshel)因给复杂化学体系设计了多尺度模型而分享奖项。 诺贝尔化学奖评选委员会说,卡普拉斯、莱维特和瓦谢尔研究的开创性在于,他们让经典物理学与迥然不同的量子物理学在化学研究中“并肩作战”。以前,化学家必须二选其一。依靠用塑料棒和杆创建模型的经典物理学方法的优势在于计算简单且能为大分子建模,

2、但其无法模拟化学反应。而如果化学家选择使用量子物理学计算化学反应过程,但巨大的计算量使得其只能应付小分子。为此,在20世纪70年代,这三位科学 家设计出这种多尺度模型,让传统的化学实验 走上了的快车道。 多尺度复杂化学系统模型的出现无疑翻开了化学史的“新篇章”。化学反应发生的速度堪比光速。刹那间,电子就从一个原子核跳到另一个原子核,以前,对化学反应的每个步骤进行追踪几乎是不可能完成的任务。而在由这三位科学家研发出的多尺度模型的辅助下,化学家们让计算机做“做帮手”来揭示化学过程。例如,在模拟药物如何同身体内的目标蛋白耦合时,计算机会对目标蛋白中与药物相互作用的原子执行量子理论计算;而使用要求不那

3、么高的经典物理学来模拟其余的大蛋白,从而精确掌握药物发生作用的全过程。 诺贝尔化学奖评选委员会在当天发表的声明中说,对化学家来说,通过模拟,化学家能更快获得比传统实验更精准的预测结果。 今天,以计算机及其网络深入到社会的各个层面为标志的数字化新世纪已经到来,也将使传统化学发生深刻的变化。化学已由只实验不计算,演变为先实验再计算,也必将逐步演变为先计算再实验;计算机化学和计算化学的结合已开始孕育一个新的更带数字化色彩的学科方向-Model Chemistry(模型化学,Pople语);基于web技术的化学应用软件已经出现。这些都表明数字化化学将与数字化社会一起到来。 计算机化学(Computer

4、 chemistry)是应用计算机研究化学反应和物质变化的科学。以计算机为技术手段,建立化学化工信息资源化和智能化处理的理论和方法,认识物质、改造物质、创造新物质和认识反应、控制反应过程和创造新反应、新过程是计算机化学研究的主体。它的兴起与发展是与计算机技术的发展和计算机的普及紧密联系的。目前计算机化学覆盖的领域主要有: (1)化学数据挖掘(Data mining); (2)化学结构与化学反应的计算机处理技术; (3)计算机辅助分子设计; (4)计算机辅助合成路线设计; (5)计算机辅助化学过程综合与开发; (6)化学中的人工智能方法等。 有机化学又称为碳化合物的化学,是研究有机化合物的组成、

5、结构、性质、制备方法与应用的科学,是化学中极重要的一个分支。 和无机物相比,有机物而无机物目却只发现数十万种,因为有机化合物的碳原子的结合能力非常强,可以互相结合成碳链或碳环。碳原子数量可以是1、2个,也可以是几千、几万个,许多有机高分子化合物(聚合物)甚至可以有几十万个碳原子。此外,有机化合物中,这也是有机化合物数目繁多的原因之一。 (1)高二即将系统学习有机化学,此研究有利于当前的预习工作与将来的化学学习。 (2)高一下学期信息竞赛辅导主讲数据结构,此研究过程将是一个极好的实战演练机会; (3)研究过程中,通过查阅资料,可获取大量与计算机、化学乃至数学、物理等其他学科有关的知识,有利于将来

6、的职业选择; (4)研究过程中编写的程序可供同学们使用,一方面可有助于他们的化学学习,另一方面可引起他们对计算机科学的关注,培养他们的计算机思维。 Free Pascal IDE C Free 5 Visual Basic 6 线性表是一个线性结构,它是一个含有n0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。一般地,一个线性表可以表示成一个线性序列:k1,k2,kn,其中k1是开始结点,kn是终端结点。 在实际应用中,线性表都是以、队列、数组等特殊线性表的形式来使用的。

7、 使用字符串表示化学式应: (1) 使用结构简式,输入(2)用代替价键表示支链(3)正常大小数字 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 不饱和度 (英文名称:Degree of unsaturation),又称缺氢指数或者环加双键指数(index of hydrogen deficiency (IHD) or

8、rings plus double bonds)是有机物分子不饱和程度的量化标志,用希腊字母表示,在有机化学中用来帮助画化学结构,在推断有机化合物结构时很有用,可以帮助使用者确定要画的化合物有多少个环、双键、和叁键。 公式: =1+1/2Ni(Vi-2)其中,Vi 代表某元素的化合价,Ni 代表该种元素原子的数目, 代表总和。这种方法适用于复杂的化合物。 =C+1(HN)/2其中,C 代表碳原子的数目,H 代表氢和卤素原子的总数,N 代表氮原子的数目,氧和其他二价原子对不饱和度计算没有贡献,故不需要考虑氧原子数。这种方法只适用于含碳、氢、单价卤素、氮和氧的化合物。算法简述 (1)设立两个栈,元

9、素栈(符号栈)与数字栈; (2)将化学式以字符串形式读入,具体要求之前已明确; (3)读入同时判断所读字符为数字还是元素符号,两栈使用同一top指针,若为元素,则toptop+1; (4)将字符分别压入相应栈; (5)扫描元素栈,统计碳数、氢数、氮数、卤素数; (6)代入公式求解,输出。树状图树状图是一种数据结构,它是由n(n=1)个有限节点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树

10、。无序树:树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树;有序树:树中任意节点的子结点之间有顺序关系,这种树称为有序树。 由上可知,因此,我们可以利用树的存储,来存储化学物质。考虑到广义表较为麻烦,输入化学式后,应将其转化为前序遍历形式。例:-CH3转化为:-CH#H#H#其中“#”表示无节点。然后就可以建树存储了。次序规则内容:(1)原子:原子序数大的排在前面,同位素质量数大的优先。几种常见原子的优先次序为:IBrClSPONCH(2)饱和基团:如果第一个原子序数相同,则比较第二个原子的原子序数,依次类推。常见的烃基优先次序为: (CH3)3C-(CH3)2CH-CH3

11、CH2-CH3-(3)不饱和基团:可看作是与两个或三个相同的原子相连。不饱和烃基的优先次序为:-CCH-CH=CH2(CH3)2CH-(4)若与双键碳原子相连的基团互为顺反异构时,Z型先于E型。 次序规则主要应用于烷烃的系统命名和烯烃中几何异构体的命名。此案例不包含第四条。算法简述 (1)字符串读入两个化学式,将其转化为前序遍历形式; (2)建三叉树; (3)逐层各原子排序,逐一比较; (4) 输出。那若是环状化合物呢? 此时,便可引入图的概念。 图G是一个有序二元组(V,E),其中V称为顶集(Vertices Set),E称为边集(Edges set), E与V不相交。 将每一个元素看成,键看成,便可进行存储。(1)可作为化学式的简单有力工具;(2)可用于有机物中的统计;(3)与可作为有机物的良好方式;1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论