数据结构ch4
- 格式:ppt
- 大小:379.50 KB
- 文档页数:26
甲烷的模型搭建原理
甲烷的模型搭建原理主要基于两个原则:分子结构和化学键。
1. 分子结构:甲烷(CH4)是由一个碳原子和四个氢原子组成的分子。
碳原子中心由4个单价电子,氢原子由1个单价电子,因此碳原子与四个氢原子形成共价键,并且该共价键呈四面体构型。
2. 化学键:甲烷中的碳-氢键属于共价键,共用了一个电子对。
在模型搭建中,可以使用棍球模型或者空间填充模型来表示分子中的原子和化学键。
基于以上原理,可以按照以下步骤进行甲烷模型的搭建:
1. 准备棍球模型或者空间填充模型所需的零件,包括碳原子和氢原子的球形模型和棍子模型。
2. 将一个碳原子放置在模型的中心位置。
3. 将四个氢原子分别连接到碳原子周围的四个空位,使用棍子模型连接碳原子和氢原子,形成化学键。
4. 确保四个氢原子朝向碳原子的四个空位,呈四面体构型。
5. 根据需要,可以对模型进行调整和修正,使得分子模型更加准确和稳定。
通过上述步骤,就可以搭建出甲烷分子的模型。
这种模型可以帮助我们更好地理解甲烷分子的结构和化学键,并在学习和研究中起到重要的作用。
Ch4 数组主要学习内容:一维数组、二维数组和多维数组的定义、元素的引用方法,字符型数组及字符串的处理方法。
自测题:一、选择题1.下列说明中错误的是( )A.int a[2] […A‟];B.int a[2][l0/2.0];C.int a[2][2*5];D.int a[2][100 + 1];2.关于数组的定义,下列说明中错误的是( )A.int a[6][6];B.int i,a[i][i];C.int a[2*3][6];D.int a[1 + 5][6];3.关于一维数组的初始化,下列错误的是( )A.int a[5]={1,2,3,4,5};B.int a[]={1,2,3,4,5};C.int a[5]=1,2,3,4,5;D.int a[5]=(1,2};4.初始化一维数组a正确的语句是( )A.int a[10]=(0,0,0,0,0);B.int a[10]={ };C.int a[]=(10);D.int a[10]={[l0*1]};5.数组int a[20];的最后一个元素的引用形式为( )A.a[20] B.a(20) C.a(19) D.a[19]6.关于二维数组的初始化,下列错误的是( )A.int a[3][3]={1,2,3,4,5,6,7,8,9};B.int a[][3]={1,2,3,4,5,6,7,8,9};C.int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};D.int a[][]={1,2,3,4,5,6,7,8,9};7.关于二级数组有说明:int a[3][3]={{1},{2},{3}};则值为2的元素的下标是()A .0,1 B.2,1 C.1,0 D.1,18.设有说明:int a[2][3]={1,2,3,4};则表达式a[1][1]的值是( )A.1 B.2 C.4 D.09.设有说明:int a[3][3]={1,2,3,4};则表达式a[2][1]的值是( )A.3 B.4 C.0 D.无值10.在二维数组int[a][3]={1,2,3,4,5,6,7,8,9};中a[1][2]的值为( )A.2 B.5 C.6 D.311.合法的数组定义是( )A.int a[]={“good”};B.int a[5]={1,2,3,4,5,6};C.char a=“good”;D.char a[ ]=(“good”};12.数组int a[10];的最后一个元素的引用形式为( )A.a[9] B.a(9) C.a(9) D.a[9]13.设char strl[10]=“ABCDE”,,str2[10]=“XYZ”;则执行语句:printf(“%d”,strlen(strcpy(str1,str2)));后的输出是( )A.3 B.5 C.8 D.914.下列说明中正确的是( )A.char s[1][3]={“A”,”XY”};B.char[][]={‘A’,‘B’,‘C’};C.int a[][]={1,2,3,4};D.a[5]={1,2,3,4,5,0}15.设有说明int a[10]={10,11,12,13};则下列表达式中值不为11的是( )A.a[0] + + B.a[1] C.a[2] D.a[3-1]-116.设有说明int a[10]={10,11,12};若每个int型数据在内存中占2字节,则数组a的元素个数和a的长度分别为( )A.3,6 B.10,6 C.10,20 D.3,2017.设有说明int a[][3]={{10,20},{30,40,50}};则a[0][2]+a[1][2]的值是( )A.30 B.40 C.50 D.6018.设有说明int a[][3]={{10,20},{30,40,50},{60}};则a[1][1]+a[2][1]的值是( ) A.30 B.40 C.50 D.60二、填空题1.设有说明char s[]=“ABC”,t[]={‘A’,‘B’,‘C’};则s长度为( )字节;t 长度为( )字节。
第四章习题4.3如果已知一棵二叉树有20个叶子结点,有10个结点仅有左孩子,15个结点仅有右孩子,求出该二叉树的结点数目。
解:设结点总数为n ,叶子数n 0,1度节点数n 1,2度节点数n 2。
由题意得:n 0=20 n 1=10+15=25有由二叉树性质得:n 2=n 0-1=20-1=19所以,总结点数 n= n 0+ n 1+ n 2=20+25+19=644.10证明:由二叉树的先序序列和中序序列能唯一确定一棵二叉树,并分别由下面的两个序列构造出相应的二叉树:①先序:ABCDEFGHI ②先序:ABCDEFGHIJ 中序:ADECFBGIH 中序:BDECAGIJHF 解:4.12已知一棵二叉树的先序、中序和后序序列如下,其中各有一部分未给出其值,请构造出该二叉树。
先序:A B C D E F G H I J中序:C B E D A H G F I J后序:C E D B H G J I F A4.17解:算法如下://先序遍历查找结点 x ,打印到根节点路径void BiTreeSearchNR(BiNode* pBT, elementType x, BiNode* &pR) {① 对应二叉树② 对应二叉树BiNode* p;seqStack S;int tag[MaxLen]; //标记左子树、右子树initStack(S); //初始化栈p=pBT;while(p || !stackEmpty(S)){if(p) //p!=NULL{pushStack(S, p); //当前根节点指针p 入栈tag[S.top]=0; //标记遍历左子树//判定p是否目标结点if(p->data==x){//返回p指针pR=p;while(!stackEmpty(S)) //找到目标结点,打印到根节点的路径{popStack(S,p);cout<<p->data<<", ";}break; //退出循环}elsep=p->lChild; //遍历左子树}else //p==NULL 但是栈不空{stackTop(S, p); //取栈顶,但不退栈,以便遍历p的右子树if(tag[S.top]==0) //说明p 的右子树尚未遍历,设置标记,遍历右子树{tag[S.top]=1;p=p->rChild;}else //tag[S.top]==1,说明栈顶结点p的左右子树都已经遍历,且没有找到目标,p直接弹出{popStack(S, p);p=NULL; //上面出栈的p已经没有,回去循环取栈顶的下一个元素}}}}4.24 将下图中的森林转换为对应的二叉树。
习题4解答判断题:1.空串是由空白字符组成的串( FALSE )2. 串的定长顺序结构是用一组地址连续的存储单元存储串值的字符序列,按照预定义的大小,为每个定义的串变量分配一个固定长度的存储区。
(TRUE )3.串的堆分配存储表示是用一组地址连续的存储单元存储串值的字符序列,但它们的存储空间是在程序执行过程中动态分配得到的。
(TRUE )4.串中StrInsert(&S,pos,T)基本操作是最小的操作子集(FALSE)5.串是由有限个字符构成的连续序列,串长度为串中字符的个数,子串是主串中字符构成的有限序列。
(FALSE)(错:子串是主串中连续的字符构成的有限序列)(题源:胡元义,C版数据结构课程辅导与习题解析,p80,4.2.1(判断题)_1)6.如果一个串中的所有字符均在另一串中出现,那么则说明前者是后者的子串。
(FALSE)( 错:是否连续是关键)(题源:陈明,C版实用数据结构基础,p109,(判断题)_2)7.串类型的最小操作子集不能利用其他串操作来实现,反之,其他串操作均可在最小操作子集上实现。
(TRUE)(题源:根据教材p72自编)单项选择题:8.下列那些为空串()A)S=“” B)S=“”C)S=“φ” D)S=“θ”答案:B9.S1=“ABCD”,S2=“CD”则S2在S3中的位置是()A)1 B)2C)3 D)4答案:C10.假设S=“abcaabcaaabca”,T=“bca”,Index (S,T,3) 的结果是()A)2 B)6 C)11 D)0答案:B11.在串中,对于SubString(&Sub,S,pos,len)基本操作,pos和len的约束条件是()A)0<pos<StrLength(S)+1且1<=len<=StrLength(S)-pos+1B)0<pos<StrLength(S)+1且0<=len<=StrLength(S)-pos-1C)1<=pos<=StrLength(S) 且0<=len<=StrLength(S)-pos+1D)1<=pos<=StrLength(S) 且1<=len<=StrLength(S)-pos-1答案:C12. 串是一种特殊的线性表,其特殊性体现在( )。
解释CH4分子空间构型前几天,我们学了分子的空间构型,但是我有一个疑问,这些空间构型哪来的? CH4的结构比较复杂,不像苯和甲烷那么简单。
下面就由我来给大家解释解释。
首先,我们要明白物质都是由原子构成的,原子再由原子核、核外电子、核外电子构成。
这三种东西都叫元素。
我们生活中见到的各种元素按性质分成金属元素、非金属元素和稀有气体元素三大类。
化合物又可以分为单质和化合物两大类。
其中的一类叫做非金属元素,另一类是金属元素。
通过查资料,得知,原子结构由四部分组成:质子、中子、核外电子和电子云。
质子是氢原子核,中子是带正电荷的质子。
带正电荷是因为它在强力的作用下相互吸引,形成稳定结构,很难破坏。
原子核内中子数和质子数相等,即氢原子是质子数等于中子数的稳定结构,是由中子和质子组成的。
核外电子是最外层的电子,他受到核的吸引力而紧靠着核,但核与电子之间的距离极小,以至于原子核与核外电子都可能对它产生吸引力,也就是说原子核的吸引力很大,所以有的原子核能够被电子穿透,而原子则失去了电子。
质子数等于中子数的元素原子,叫做“氢原子”。
质子数与中子数相同的元素原子叫做“氦原子”。
但在中子数或者质子数和电子数之和,大于8的元素里,每一个质子和中子都可以有一个电子参加成键,但两个质子之间,一个中子和一个电子之间只能形成两个共价键。
但在中子数或者质子数和电子数之和,小于8的元素里,质子和中子只能各有一个电子,不能形成共价键。
核外电子受到核的吸引力而围绕核运动,如果外电子数超过核内电子数,电子就会越轨道,超出核的势力范围,自己建造轨道。
所以核外电子超过核内电子的数量称为“核电荷数”。
物质在形成后都会发生变化,其中的一种变化是氧原子的失去一个电子,结果就是二氧化碳。
在同位素原子中,核电荷数最多的元素是氧。
二氧化碳是不是唯一的同位素呢?不是,在核电荷数和质子数和电子数之和,等于8的元素里,质子和中子各有一个电子,其他元素的同位素,每一个质子和中子各有一个电子。