有向图的邻接矩阵是对称的_有向图的邻接矩阵是对称的情况

莫娜号 1

离散数学高分悬赏共8题给400悬赏财富值

4、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。( Y )

二.主观题

有向图的邻接矩阵是对称的_有向图的邻接矩阵是对称的情况有向图的邻接矩阵是对称的_有向图的邻接矩阵是对称的情况


有向图的邻接矩阵是对称的_有向图的邻接矩阵是对称的情况


21设图G如c. n+2右图所示,已知通路

(1) b. 2k -1初级通路;

(3)初级通路;

(4)简单回路。

bxiesahbiush所以 AC=BC 旧这么简单 - -

这不是图论、线性代数和数理逻辑么。。

若具有n个顶点的无向图采用邻接矩阵存储方法,该邻接矩阵一定为一个什么矩阵

数据结构中n个顶点的完全有向图的边数是多少

原则上的确是n的平方,不过由于无向图的邻接矩阵是一个对称矩阵,只需要存储下三角或者上三角的元素,个数就是从1加到n,就是n(n+1)/ 2,不过题目问错了,这是压缩存储,是用一维数组存放,一般好像不叫矩阵

其45、若一个图的边集为 {(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)} ,则从顶点 A 开始对该图进行广度优先搜索,得到的顶点序列可能为( )。实更地说,上面的数字个数是普通对称矩阵的,这个邻接矩阵的对角线一定为0,所d. 2n以,只需要存储1 加到n-1,也就是n(n-1)/2就可以了

若有向图具有拓扑排序序列,那么它的邻接矩阵必定为?

c. n-1-i

b. 小就此题来·作有:检索和维护。并有实时和批量处理两种处理方式。说,应该是一般。

另外给出另一方面的分析,希望能对此题有所帮助。

题目:若一个有向图具有有序的拓扑排序序列,那么它的邻接矩阵必定为?(比原题加了个有序的)

是三角。(这个三角不是特殊矩阵压缩存储时的三角矩阵,而是线性代数中的三角矩阵)

可以证明,对于有向图中顶点适当地编号,使其邻接矩阵为三角矩阵且主对角元全为零的充分必要条件是该有向图可以进行拓扑排序。

自考《数据结构》各章要点(2)

【分析】图的顶点是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。

第六章 树

树是n个结点的有限,非空时必须满足:只有一个称为根的结点;其余结点形成m个不相交的子集,并称根的子树。

根是开始结点;结点的子树数称度;度为0的结点称叶子(终端结点);度不为0的结点称分支结点(非终端结点);除根外的分支结点称内部结点;

有序树是子树有左,右之分的树;无序树是子树没有左,右之分的树;森林是m个互不相交的树的;

树的四种不同表示方法:·树形表示法;·嵌套表示法;·凹入表示法·广义表表示法。

二叉树的定义:是n≥0个结点的有限集,它是空集(n=0)或由一个根结点及两棵互不相交的分别称作这个根的左子树和右子树的二叉树组成。

二叉树不是树的特殊情形,与度数为2的有序树不同。

二叉树的4个重要性质: ·。二叉树上第i层上的结点数目最多为2^(i-1)(i≥1)。;

·深度为k的二叉树至多有(2^k)-1个结点(k≥1);

·。在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1;

·。具有n个结点的完全二叉树的深度为int(log2n)+1.

满二叉树是一棵深度为k,结点数为(2^k)-1的二叉树;完全二叉树是满二叉树在最下层自右向左去处部分结点;

二叉树的顺序存储结构就是把二叉树的所有结点按照层次顺序存储到连续的存储单元中。(存储前先将其画成完全二叉树)

树的存储结构多用的是链式存储。BinTNode的结构为lchild|data|rchild,把所有BinTNode类型的结点,加上一个指向根结点的BinTree型头指针就构成了二叉树的链式存储结构,称为二叉链表。它就是由根指针root确定的。共有2n个指针域,n+1个空指针。

根据访问结点的次序不同可得三种遍历:先序遍历(前序遍历或先根遍历),中序遍历(或中根遍历)、后序遍历(或后根遍历)。时间复杂度为O(n)。

利用二叉链表中的n+1个空指针域来存放指向某种遍历次序下的前趋结点和后继结点的指针,这些附加的指针就称为“线索”,加上线索的二叉链表就称为线索链表。线索使得查找中序前趋和中序后继变得简单有效,但对于查找指定结点的前序前趋和后序后继并没有什么作用。

树和森林及二叉树的转换是对应的。

转换方法: ·树变二叉树:兄弟相连,保留长子的连线。

·二叉树变树:结点的右孩子与其双亲连。

·森林变二叉树:树变二叉树,各个树的根相连。

树的存储结构:·有双亲链表表示法:结点data | parent,对于求指定结点的双亲或祖先十分方便,但不适于求指定结点的孩子及后代。

·孩子链表表示法:为树中每个结点data | next设置一个孩子链表firstchild,并将data | firstchild存放在一个向量中。

·双亲孩子链表表示法:将双亲链表和孩子链表结合。

·孩子兄弟链表表示法:结点结构leftmostchild |data | rightsibing,附加两个分别指向该结点的最左孩子和右邻兄弟的指针域。

树的前序遍历与相对应的二叉树的前序遍历一致;树的后序遍历与相对应的二叉树的中序遍历一致。

树的带权路径长度是树中所有叶结点的带权路径长度之和。树的带权路径长度最小的二叉树就称为二叉树(即哈夫曼树)。

在叶子的权值相同的二叉树中,完全二叉树的路径长度最短。

哈夫曼树有n个叶结点,共有2n-1个结点,没有度为1的结点,这类树又称为严格二叉树。

变长编码技术可以使频度高的字符编码短,而频度低的字符编码长,但是变长编码可能使解码产生二义性。如00、01、0001这三个码无法在解码时确定是哪一个,所以要求在字符编码时任一字符的编码都不是其他字符编码的前缀,这种码称为前缀码(其实是非前缀码)。

哈夫曼树的应用最广泛地是在编码技术上,它能够容易地求出给定字符集及其概率分布的前缀码。哈夫曼编码的构造很容易,只要画好了哈夫曼树,按分支情况在左路径上写代码0,右路径上写代码1,然后从上到下到叶结点的相应路径上的代码的序列就是该结点的前缀码。

第七章 图

图的逻辑结构特征就是其结点(顶点)的前趋和后继的个数都是没有限制的,即任意两个结点之间之间都可最小生成树:图的生成树不,从不同的顶点出发可得到不同的生成树,把权值最小的生成树称为最小生成树(MST)。能相关。

图GraphG=(V,E),V是顶点的有穷非空,E是顶点偶对的有穷集。

有向图Digraph:每条边有方向;无向图Undigraph:每条边没有方向。

有向完全图:具有n(n-1)条边的有向图;无向完全图:具有n(n-1)/2条边的无向图;

网络:是带权的图。

图的存储结构:

·邻接矩阵表示法:用一个n阶方阵来表示图的结构是的,适合稠密图。

·无向图:邻接矩阵是对称的。

·有向图:行是出度,列是入度。

建立邻接矩阵算法的时间是O(n+n^2+e),其时间复杂度为O(n^2)

·邻接表表示法:用顶点表和邻接表构成不是的,适合稀疏图。·顶点表结构 vertex | firstedge,指针域存放邻接表头指针。

·邻接表:用头指针确定。 ·无向图称边表;

·有向图又分出边表和逆邻接表;

·邻接表结点结构为 adjvex | next,

时间复杂度为O(n+e)。,空间复杂度为O(n+e)。。

图的遍历: ·深度优先遍历:借助于邻接矩阵的列。使用栈保存已访问结点。

·广度优先遍历:借助于邻接矩阵的行。使用队列保存已访问结点。

生成树的定义:若从图的某个顶点出发,可以系统地访问到图中所有顶点,则遍历时经过的边和图的所有顶点所构成的子图称作该图的生成树。

构造最小生成树的算法: ·Prim算法的时间复杂度为O(n^2)与边数无关适于稠密图。

最短路径的算法:·Dijkstra算法,时间复杂度为O(n^2)。·类似于prim算法。

拓扑排序:是将有向无环图G中所有顶点排成一个线性序列,若 ∈E(G),则在线性序列u在v之前,这种线性序列称为拓扑序列。

拓扑排序也有两种方法:·无前趋的顶点优先,每次输出一个无前趋的结点并删去此结点及其出边,得到的序列即拓扑序列。

·无后继的结点优先:每次输出一个无后继的结点并删去此结点及其入边,得到的序列是逆拓扑序列。

第八章 排序

记录中可用某一项来标识一个记录,则称为关键字项,该数据项的值称为关键字。

·基本作:比较关键字大小;改变指向记录的指针或移动记录。

·存储结构:顺序结构、链表结构、索引结构。

经过排序后这些具有相同关键字的记录之间的相对次序保持不变,则称这种排序方法是稳定的,否则排序算法是不稳定的。

排序过程中不涉及数据的内、外存交换则称之为“内部排序”(内排序),反之,若存在数据的内外存交换,则称之为外排序。

内部排序方法可分五类:插入排序、选择排序、交换排序、归并排序和分配排序。

评价排序算法好坏的标准主要有两条:执行时间和所需的辅助空间,另外算法的复杂程序也是要考虑的一个因素。

插入排序:·直接插入排序: ·逐个向前插入到合适位置。

·哨兵(监视哨)有两个作用: ·作为临变量存放R[i]

·是在查找循环中用来监视下标变量j是否越界。

·直接插入排序是就地的稳定排序。时间复杂度为O(n^2),比较次数为(n+2)(n-1)/2;移动次数为(n+4)(n-1)/2;

·希尔排序: ·等间隔的数据比较并按要求顺序排列,间隔为1.

·希尔排序是就地的不稳定排序。时间复杂度为O(n^1.25),比较次数为(n^1.25);移动次数为(1.6n^1.25);

交换排序:·冒泡排序:·自下向上确定最轻的一个。·自上向下确定最重的一个。·自下向上确定最轻的一个,后自上向下确定最重的一个。

·冒泡排序是就地的稳定排序。时间复杂度为O(n^2),比较次数为n(n-1)/2;移动次数为3n(n-1)/2;

·快速排序:·以个元素为参考基准,设定、动两个指针,发生交换后指针交换位置,直到指针重合。重复直到排序完成。

·快速排序是非就地的不稳定排序。时间复杂度为O(nlog2n),比较次数为n(n-1)/2;

选择排序:·直接选择排序: ·选择最小的放在比较区前。

·直接选择排序就地的不稳定排序。时间复杂度为O(n^2)。比较次数为n(n-1)/2;

·堆排序 ·建堆:按层次将数据填入完全二叉树,从int(n/2)处向前逐个调整位置。

·然后将树根与一个叶子交换值并断开与树的连接并重建堆,直到全断开。

·堆排序是就地不稳定的排序,时间复杂度为O(nlog2n),不适宜于记录数较少的文件。

归并排序: ·先两个一组排序,形成(n+1)/2组,再将两组并一组,直到剩下一组为止。

·归并排序是非就地稳定排序,时间复杂度是O(nlog2n),

分配排序:·箱排序: ·按关键字的取值范围确定箱子数,按关键字投入箱子,链接所有非空箱。

·箱排序的平均时间复杂度是线性的O(n)。

·基数排序:·从低位到高位依次对关键字进行箱排序。

·基数排序是非就稳定的排序,时间复杂度是O(dn+drd)。

·记录的大小(规模);记录大用链表作为存储结构,而快速排序和堆排序在链表上难于实现;

·关键字的结构及其初始状态;

·对稳定性的要求;

·语言工具的条件;

·存储结构;

·时间和辅助空间复杂度。

第九章 查找

查找的同时对表做修改作(如插入或删除)则相应的表称之为动态查找表,否则称之为静态查找表。

衡量查找算法效率优劣的标准是在查找过程中对关键字需要执行的平均比较次数(即平均查找长度ASL)。

线性表查找的方法: ·顺序查找:逐个查找,ASL=(n+1)/2;

·二分查找:取中点int(n/2)比较,若小就比左区间,大就比右区间。用二叉判定树表示。ASL=(∑(每层结点数层数))/N.

·分块查找。要求“分块有序”,将表分成若干块内部不一定有序,并抽取各块中的关键字及其位置建立有序索引表。

二叉排序树(BST)定义是:二叉排序树是空树或者满足如下性质的二叉树: ·若它的左子树非空,则左子树上所有结点的值均小于根结点的值;

·若它的右子树非空,则右子树上所有结点的值均大于根结点的值;

·左、右子树本身又是一棵二叉排序树。

二叉排序树的插入、建立、删除的算法平均时间性能是O(nlog2n)。

二叉排序树的删除作可分三种情况进行处理: ·P是叶子,则直接删除P,即将P的双亲parent中指向P的指针域置空即可。

·P只有一个孩子child,此时只需将child和p的双亲直接连接就可删去p.

·p有两个孩子,则先将p结点的中序后继结点的数据到p,删除中序后继结点。

关于B-树(多路平衡查找树)。它适合在磁盘等直接存取设备上组织动态的查找表,是一种外查找算法。建立的方式是从下向上拱起。

散列技术:将结点按其关键字的散列地址存储到散列表的过程称为散列。散列函数的选择有两条标准:简单和均匀。

常见的散列函数构的造方法:

·。平方取中法:hash=int((x·。随机数法:hash=random(x)。^2)%100)

·。除余法:表长为m,hash=x%m

·。相乘取整法:hash=int(m(xA-int(xA));A=0.618

处理冲突的方法:·开放定址法: ·一般形式为hi=(h(key)+di)%m1≤i≤m-1,开放定址法要求散列表的装填因子α≤1.

·开放定址法类型: ·线性探查法:address=(hash(x)+i)%m;

·二次探查法:address=(hash(x)+i^2)%m;

·双重散列法:address=(hash(x)+ihash(y))%m;

·拉链法: ·是将所有关键字为同义词的结点链接在同一个单链表中。

·拉链法的优点: ·拉链法处理冲突简单,且无堆积现象;

·链表上的结点空间是动态申请的适于无法确定表长的情况;

·拉链法中α可以大于1,结点较大时其指针域可忽略,因此节省空间;

·拉链法构造的散列表删除结点易实现。

·拉链法也有缺点:当结点规模较小时,用拉链法中的指针域也要占用额外空间,还是开放定址法省空间。

第十章 文件

文件是性质相同的记录的。记录是文件中存取的基本单位,数据项是文件可使用的最小单位,数据项有时称字段或者属性。

文件·逻辑结构是一种线性结构。

文件·存储结构是指文件在外存上的组织方式。

·基本的组织方式有:顺序组织、索引组织、散列组织和链组织。

·常用的文件组织方式:顺序文件、索引文件、散列文件和多关键字文件。

评价一个文件组织的效率,是执行文件作所花费的时间和文件组织所需的存储空间。

顺序文件是指按记录进入文件的先后顺序存放、其逻辑顺序和物理顺序一致的文件。主关键字有序称顺序有序文件,否则称顺序无序文件。

一切存储在顺序存储器(如磁带)上的文件都只能顺序文件,只能按顺序查找法存取。

顺序文件的插入、删除和修改只能通过整个文件实现。

索引文件的组织方式:通常是在主文件之外建立一张索引表指明逻辑记录和物理记录之间一一对应的关系,它和主文件一起构成索引文件。

索引非顺序文件中的索引表为稠密索引。索引顺序文件中的索引表为稀疏索引。

若记录很大使得索引表也很大时,可对索引表再建立索引,称为查找表。是一种静态索引。

索引顺序文件常用的有两种:

·ISAM索引顺序存取方法:是专为磁盘存取文件设计的,采用静态索引结构。

·VSAM虚拟存储存取方法:采用B+树作为动态索引结构,由索引集、顺序集、数据集组成。

散列文件是利用散列存储方式组织的文件,亦称为直接存取文件。

散列文件

·优点是:文件随机存放,记录不需要排序;插入删除方便;存取速度快;不需要索引区,节省存储空间。

·缺点是:不能进行顺序存取,只能按关键字随机存取,且询问方式限地简单询问,需要重新组织文件。

多重表文件:对需要查询的次关键字建立相应的索引,对相同次关键字的记录建一个链表并将链表头指针、长度、次关键字作为索引表的索引项。

倒排表:次关键字索引表称倒排表,主文件和倒排表构成倒排文件。

数据结构概论 试题求解

printf("该程式实现了Dijkstra演算法,支援路径显示,请按提示输入资料:

二、判断对错题:(每题2分,共40分,正确的选A,错误的选B)

}printf("%d

1. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。B

3. 取线性表的第i个元素的时间同i的大小有关。B

4. 两个栈共用静态存储空间,对头使用也存在空间溢出问题。A

5. 二叉树是一般树的特殊情形。B

6. 无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵。B

7. 在n个结点的无向图中,若边数大于n-1,则该图必是连通图。Bc. N0=2N1+1

8. 就平均查找长度而言,分块查找最小,折半查找次之,顺序查找。B(折半最小)

9. Hash表的平均查找长度与处理冲突的方法无关。B

10. 用邻接矩阵表示图时,矩阵元素的个数与边的条数有关.A

11. 树最适合用来表示元素之间具有分支层次关系的数据。A

12. 图型结构中元素之间存在1对多关系。A

13. 哈夫曼树度为1的结点数等于度为2和0的结点数之。

14. 两个串相等的充分必要条件是分配的存储空间一样。B

15. 已知指针P指向键表L的某结点,执行语句P=P->next不会删除该链表中的结点。A

16. 在链队列中,即使不设置尾指针也能进行入队作。A

17. 若图G的最小生成树不,则G的边数一定多于n-1,并且权值最小的边有多条(其中n为G的顶点数)。A

18. 直接选择排序算法在情况下的时间复杂度为O(N),N是数据元素的个数。B

19. 排序算法中的比较次数与初始元素序列的排列无关。B

20. 记录是数据处理的最小单位。B

21. 程序一定是算法。B

22. 在顺序存储结构中,有时也存储数据结构中元素之间的关系。A

23. 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构.B

24. 循环链表不是线性表.B

25. 顺序存储结构通过数据元素存储的位置表示元素之间的关系。A

26. 队列是一种插入与删除作分别在表的两端进行的线性表,是一种先进后出型结构。B

27. 循环队列的引入,目的是为了克服溢出。A

28. 完全二叉树一定存在度为1的结点B。

29. 对一棵二叉树进行层次遍历时,应借助于一个栈。B

30. 二叉树只能用二叉链表表示。B

31. 树中的结点和图中的顶点就是指数据结构中的数据元素。A

32. 有向图中顶点V的度等于其邻接矩阵中第V行中的1的个数。B

33. 带权的有向图和无向图,只能使用邻接表存储形式来存储它。B

34. 适用于折半查找的表的存储方式及元素排列要求是:链接方式存储,元素无序 。B

35. 当采用分快查找时,数据的组织方式为数据分成若干块,每块内数据有序。B

36. 散列函数越复杂越好,因为这样随机性好,冲突概率小。B

37. 冒泡排序和快速排序都是基于交换两个逆序元素的排序方法。A

38. 在排序过程中,主要进行的两种基本作是关键字的比较和记录的移动。A

39. 链表中的头结点仅起到标识的作用。B

40. 对顺序表上的插入、删除算法的时间复杂性分析来说,通常以结点移动量为标准分析。A

41. 为了很方便的插入和删除数据,可以使用双向链表存放数据。A

42. 栈是实现过程和函数等子程序所必需的结构。A

43. 在执行简单的串匹配算法时,最坏的情况为每次匹配比较不等的字符出现的位置均为模式串的最末字符。A

44. 在单链表中,指针p指向元素为x的结点,实现"删除x的后继"的语句是p->next=p->next->next;B

45. 完全二叉树一定存在度为1的结点。B

46. 连通图上各边权值均不相同,则该图的最小生成树是的。A

47. 通常将链串的结点大小设置为大于1是为了提高存储密度。

48. 排序的稳定性是指排序算法中的比较次数保持不变,且算法能够终止。B

49. 快速排序的速度在所有排序方法中为最快,而且所需附加空间也最少。B

50. 邻接多重表是无向图和有向图的链式存储结构。B

51. 强连通图的各顶点间均可达。A

52. 度为二的树就是二叉树。B

大概都对吧,个别没确定,自己判断了下

对于任一确定的有向图,邻接矩阵是不是的,邻接表呢?

int D[MAXNUM];

邻接矩阵

(2)简单通路;

所谓邻接矩阵(Adjacency Matrix)的存储结构,就是用一维数组存储图中顶点的信息,用矩阵表示图中各顶点之间的邻接关系。设图G=(V,E)有n 个确定的顶点,即V={v0,v1,…,vn-1},则表示G 中各顶点相邻关系为一个n×n 的矩阵,矩阵的元素为:

下面举个栗子:

代码实现如下:

#include

using namespace std;

//————图的邻接矩阵存储表示————

#define MaxInt 0 2. 具有6个顶点的无向图至少应有()条边才能确保是一个连通图。 //表示权值的无穷

#define MVNum 100 //顶点数,应由用户定义

#define OK 1

typedef int Status;

typedef char VerTexType; //定点的数据类型

typedef int ArcType; //边的权值类型

VerTexType vexs[MVNum]; //顶点表

ArcType arcs[MVNum][MVNum]; //邻接矩阵

int vexnum,arcnum; //图的当前顶点数和边数

}AMGraph;

Status LocateVex(AMGraph G,VerTexType v){

int i;

for(i=0;i

if(v==G.vexs[i])

return i;

}}

Status CreateUDN(AMGraph &G){ //采用邻接矩阵表示法,创建无向网

Status i,j,k,w;

VerTexType v1,v2;

printf("请输入总顶点数和总边数:");

scanf("%d %d",&G.vexnum,&G.arcnum); // 总顶点数,总边数

printf("请依次输入顶点:n");

for(i=0;i

cin>>G.vexs[i];

for(i=0;i

for(j=0;j

G.arcs[i][j]=MaxInt;

puts("请依次输入边的两个顶点以及权值:");

for(k=0;k

cin>>v1>>v2>>w; //输入边的顶点及权值

i=LocateVex(G,v1);

j=LocateVex(G,v2);

G.arcs[i][j]=w; //边的权值置位w

G.arcs[j][i]=G.arcs[i][j]; //无向图矩阵对称

}return OK;

}int main(){

int i,j;

AMGraph G;

CreateUDN(G);

puts("构成的邻接矩阵为:");

for(i=0;i

for(j=0;j

printf("%dt",G.arcs[i][j]);

printf("n");

}return 0;

SJTU 《算法设计与分析》备考题

b. 连通图的深度优先搜索是一个递归过程

1、除根结点外,树上每个结点( )。

c. 索引存储结构

a. 可有一个孩子、任意多个双亲

b. 可有任意多个孩子、一个双亲

c. 只有一个孩子、一个双亲

d. 可有任意多个孩子、任意多个双亲

2、采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为( )。

a. (n+1)/2

b. n/2

c. (n-1)/2

d. n

3、采用二分查找方法查找长度为n的线性表时,每个元素的平均查找长度为( )。

a. O(log2n)

b. O(n2)

c. O(n)

d. O(nlog2n)

4、设顺序线性表中有n个数据元素,则删除表中第i个元素需向前移动( )个元素。

a. n-1-i

b. n-i

c. i

d. n+1-i

5、设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。

a. (R-F+M)%M

b. F-R

c. (F-R+M)%M

d. R-F

6、设输入序列是1、2、3、…、n,经过栈的作用后输出序列的个元素是n,则输出序列中第i个输出元素是( )。

a. n-1-i

b. 不能确定

c. n-i

d. n+1-i

7、设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为( )。

a. 5,3,4,6,1,2

b. 1,5,4,6,2,3

c. 3,1,2,5,4,6

d. 3,2,5,6,4,1

8、设用链表作为栈的存储结构,则退栈作( )。

a. 必须判别栈是否为满

b. 必须判别栈是否为空

d. 必须判别栈元素的类型

9、设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为( )。

a. 第i列0元素的个数之和

b. 第i行0元素的个数之和

c. 第i列非0元素的个数之和

d. 第i行非0元素的个数之和

10、设某链表中最常用的作是在链表的尾部插入或删除元素,则选用下列( )存储方式最节省运算时间。

a. 双向链表

b. 双向循环链表

c. 单向循环链表

d. 单向链表

11、设某棵二叉树的高度为10,则该二叉树上叶子结点最多有( )。

a. 1024

b. 256

c. 20

d. 512

12、设某棵二叉树的中序遍历序列为ABCD,先序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。

a. CDAB

b. BADC

c. CBDA

d. BCDA

13、设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。

a. 9

b. 11

c. 12

d. 10

14、设某棵二叉树中只有度数为0和度数为2的结点,且度数为0的结点数为n,则这棵二叉树有( )个结点。

a. n+1

b. 2n

c. 2n+1

d. 2n-1

15、设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有( )条有向边。

a. n-1

b. m

c. n

d. m-1

16、设某无向图有n个顶点,则该无向图的邻接表中有( )个表头结点。

a. 2n-1

b. n

c. n/2

17、设某无向图中有n个顶点e条边,则该无向图中所有顶点的度之和为( )。

a. 2e

b. n

c. e

18、设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为( )。

a. O(ne)

b. O(n+e)

c. O(n2)

d. O(n3)

19、设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是( )。

a. 图结构

b. 物理结构

c. 线性结构

d. 树型结构

20、设某强连通图中有n个顶点,则该强连通图中至少有( )条边。

a. n(n-1)

b. n

c. n+1

d. n(n+1)

21、设某完全无向图中有n个顶点,则该完全无向图中有( )条边。

b. n-1

c. n(n-1)

d. n(n-1)/2

a. 99

b. 101

c. 100

d. 102

23、设某二叉树中度数为0的结点数为N0,度数为1的结点数为N1,度数为2的结点数为N2,则下列等式成立的是( )。

a. N0=N1+N2

b. N0=N2+1

d. N0=N1+1

24、设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

a. 7

b. 6

c. 8

d. 5

25、设无向图G中有n个顶点,则该无向图的最小生成树上有( )条边。

a. 2n-1

b. n

c. n-1

a. i/2

b. 2i+1

c. 2i

d. 2i-1

27、设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的作为( )。

a. top=top+1;

b. top->next=top;

c. top=top->next;

28、设指针变量p指向双向链表中结点A,指针变量s指向入的结点X,则在结点A的入结点X的作序列为( )。

a. p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;

b. s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;

c. p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;

d. s->prior=p;s->next=p->next;p->next->prior=s; p->next=s;

29、设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的作序列为( )。

a. q=p->next;q->data=p->data;p->next=q->next;free(q);

b. q=p->next;p->data=q->data;free(q);

c. q=p->next;p->next=q->next;free(q);

d. q=p->next;p->data=q->data;p->next=q->next;free(q);

30、设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的作序列为( )。

a. front->next=s;front=s;

b. rear->next=s;rear=s;

c. s->next=front;front=s;

d. s->next=rear;rear=s;

31、设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向入的结点X,则在结点A和结点B插入结点X的作序列为( )。

a. p->next=s->next;s->next=p;

b. p->next=s;s->next=q;

c. s->next=p->next;p->next=-s;

d. q->next=s; s->next=p;

32、设带有头结点的单循环链表的头指针为head,则其判空条件是( )。

a. head->next==head

b. head==NULL

c. head->next==NULL

d. head!= NULL

33、设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。

a. 4m

b. 2m-1

c. 2m+1

d. 2m

34、设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是( )。

a. 任一结点无左孩子

b. 任一结点无右孩子

c. 高度等于其结点数

d. 空或只有一个结点

35、设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为( )。

a. O(1)

b. O(n)

c. O(n2)

d. O(nlog2n)

36、设一组权值W={2,3,4,5,6},则由该权值构造的哈夫曼树中带权路径长度之和为( )。

a. 40

b. 45

c. 30

d. 20

37、设一棵完全二叉树中有65个结点,则该完全二叉树的深度为( )。

a. 7

b. 6

c. 5

d. 8

38、设一条单链表的头指针为head,且该链表没有头结点,则其判空条件是( )。

a. head==NULL

b. head->next==head

c. head->next==NULL

d. head!=NULL

39、设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为( )。

a. N2+N3

b. N1-1

c. N1+N3

d. N2-1

40、若采用邻接表存储结构,则图的深度优先搜索类似于二叉树的()

a. 层次遍历

b. 先根遍历

c. 中根遍历

d. 后根遍历

41、若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的()

a. 先根遍历

b. 后根遍历

c. 层次遍历

d. 中根遍历

42、若线性表最常用的作是存取第i个元素及其前驱的值,则采用( )存储方式最节省时间。

a. 双向链表

b. 顺序表

c. 单链表

d. 单循环链表

43、若一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以个记录为基准得到的趟结果为( )。

a. 40,38,46,56,79,84

b. 40,38,46,84,56,79

c. 38,40,46,56,79,84

d. 40,38,46,79,56,84

44、若一个图的边集为 {(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)} ,则从顶点 A 开始对该图进行深度优先搜索,得到的顶点序列可能为( )。

a. A,B,C,F,D,E

b. A,C,F,D,E,B

c. A,B,D,F,E,C

d. A,B,D,C,F,E

a. A,B,C,F,D,E

b. A,B,C,D,E,F

c. A,B,D,C,E,F

d. A,C,B,F,D,E

46、线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。

a. 连续或不连续都可以

b. 必须是连续的

c. 部分地址必须是连续的

d. 一定是不连续的

47、用链接方式存储的队列,在进行插入运算时( )。

a. 仅修改尾指针

b. 头、尾指针都要修改

c. 仅修改头指针

d. 头、尾指针都不要修改

48、用邻接表存储图所用的空间大小( )。

a. 只与图的边数有关

b. 与图的顶点数和边数都有关

c. 只与图的顶点数有关

d. 与边数的平方有关

49、树的后根遍历序列等同于该树对应的二叉树的( )。

a. 先序序列

b. 中序序列

c. 后序序列

d. 层次序列

50、树型结构最适合用来表示( )。

a. 无序数据元素

b. 有序数据元素

c. 元素之间无联系的数据

d. 元素之间具有分支层次关系的数据

51、栈。和队列的共同点是( )。

a. 只允许在端点处插入和删除元素

b. 都是先进后出

c. 都是先进先出

d. 没有共同点

52、数据结构是研究数据的( )以及它们之间的相互关系。

a. 理想结构,抽象结构

b. 物理结构,逻辑结构

c. 理想结构,物理结构

d. 抽象结构,逻辑结构

53、数据的最小单位是( )。

a. 数据元素

b. 数据项

c. 数据类型

d. 数据变量

54、已知一个有向图的边集为 {,,,,,} ,则由该图产生的一种可能的拓扑序列为( )。

a. a,b,c,d,e

b. a,c,b,e,d

c. a,b,d,e,b

d. a,c,d,b,e

55、对线性表进行二分查找时,要求线性表必须( )。

a. 以链接方式存储

b. 以链接方式存储,且结点按关键字有序排序

c. 以顺序方式存储,且结点按关键字有序排序

d. 以顺序方式存储

56、在长度为n的顺序存储的线性表中插入第i个元素(1≤i≤n)需向后移动( )个元素。

a. n-i

b. i

d. n-i+1

57、在用邻接表表示图时,对图进行深度优先搜索遍历的算法的时间复杂度为( )。

a. O(n2)

b. O(n+e)

c. O(n3)

d. O(n)

58、在有向图的邻接表存储结构中,顶点v在链表中出现的次数是( )。

a. 顶点v的度

b. 依附于顶点v的边数

c. 顶点v的入度

d. 顶点v的出度

59、在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是( )。

a. G中有一条从Vi到Vj的路径

b. G中有弧

c. G中没有弧

60、在下列存储形式中,哪一个不是树的存储形式?( )

a. 孩子链表表示法

b. 顺序存储表示法

c. 孩子兄弟表示法

d. 双亲表示法

61、在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行( )。

a. q->next = s;s->next = p;

b. s->next = p->next;p->next = s;

c. p->next = s->next;s->next = p;

d. p->next = s;s->next = q;

62、在一个具有n个顶点的无向图中,每个顶点度的值为( )

a. n-1

b. n+1

c. n

d. 2(n-1)

63、图的BFS生成树的树高比DFS生成树的树高( )。

a. 大或相等

d. 大

64、含有n个结点的二叉树采用二叉链表存储时,空指针域的个数为( )。

b. n+1

d. n-1

65、关于无向图的邻接矩阵的说法中正确的是( )。

a. 矩阵中的非零元素个数等于图的边数

b. 矩阵中非全零元素的行数等于图中的顶点数

c. 第i行上非零元素个数和第i列上非零元素个数一定相等

d. 第i行上与第i列上非零元素总和等于顶点Vi的度数

66、二叉树的第k层的结点数最多为( )。

a. 2k

c.2k

d. 2k-1

67、二叉排序树按( )遍历可以得到一个从小到大的有序序列。

a. 后序

b. 中序

c. 层次

d. 先序

68、下面程序的时间复杂为( )。

for(i=1, s=0; i<=n; i++)

{ t=1;

for(j=1; j<=i; j++)

t=tj; s=s+t;

}a. O(n3)

b. O(n)

c. O(n2)

d. O(n4)

69、下面程序段的时间复杂度为( )。

s=i=0;

do { i=i+1; s=s+i;

} while(i<=n);

a. O(n)

b. O(nlog2n)

c. O(n2)

d. O(1)

70、下面关于线性表的叙述错误的是( )。

a. 线性表采用链式存储不必占用一片连续的存储空间

b. 线性表采用顺序存储必须占用一片连续的存储空间

c. 线性表采用顺序存储便于插入和删除作的实现

d. 线性表采用链式存储便于插入和删除作的实现

71、下述编码中哪一个不是前缀编码( )。

a. 0,10,110,111

b. 00,01,10,11

c. 1,01,000,001

d. 0,1,00,11

72、下列说法不正确的是( )。

a. 图的深度遍历不适用于有向图

b. 图的深度遍历是一个递归过程

c. 遍历的基本方法有两种:深度遍历和广度遍历

d. 图的遍历是从给定的源点出发每个顶点仅被访问一次

73、下列有关图遍历的说法中不正确的是()。

a. 非连通图不能用深度优先搜索法

c. 图的遍历要求每一顶点仅被访问一次

d. 图的广度优先搜索中邻接点的寻找具有“先进先出”的特征

74、下列哪种图的邻接矩阵为对称矩阵? ( )

a. 带权有向图

b. 有向图

c. 无向图

d. 有向图或无向图

75、一个带权的无向连通图的最小生成树( )。

a. 只有一棵

b. 一定有多棵

c. 有一棵或多棵

d. 可能不存在

76、顺序表是线性表的()

a. 链式存储结构

b. 顺序存储结构

d. 散列存储结构

77、线性表若采用链式存储结构时,要求内存中可用存储单元的地址()

a. 必须是连续的

b. 部分地址必须是连续的

c. 一定是不连续的

d. 连续或不连续都可以

78、一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()

b. d,e,c,b,a

d. a,b,c,d,e

79、在下列链表中,不能从任一结点出发访问到表中的所有结点的是()

a. 单链表

b. 单向循环链表

c. 双向循环链表

d. 循环链表

80、二叉树结点度的为()。

a. (1)

b. (0,1,2)

c. (1,2)

d. (0)

81、以二分查找方法查找一个线性表时,此线性表必须是()。

a. 顺序存储的有序表

b. 链式存储的有序表

c. 链表

d. 顺序表

82、设哈夫曼树的叶子结点的个数为n,那么该树的结点总数为()

a.2n

b.2n+1

c.2n-1

c.不能确定

83、对二叉树来说,第i层上至多有()个结点。

a. 2i

b. 2i-1

c. 2i-1

d. 2i-1-1

84、数据结构包括3个方面的内容,它们是()。

a. 数据、数据元素、数据项

b. 数据元素、数据处理、算法实现

c. 数据元素、数据的逻辑结构、数据的存储结构

d. 数据的逻辑结构、数据的存储结构、数据的作

85、数据在计算机存储器内表示时,存储结点连续存放且存储顺序与逻辑顺序相同,这种存储方式称为5、衡量一个算法,除了正确性之外,主要考虑的两个方面是 时间复杂度 和 空间复杂度 。()。

a. 索引存储方式

b. 顺序存储方式

c. 链式存储方式

d. 散列存储方式

86、冒泡排序属于()。

a. 插入排序

b. 选择排序

c. 快速排序

d. 交换排序

87、下列程序段的时间复杂度为()。

i=1;j=0;

while(i+j<=n)

{if(i>j)j++;

elsei++;

}a. O(n)

b. O(nlog2n)

c. O(ij)

d. O(i+j)

88、下面程序的时间复杂为()。

for(i=1,s=0;i<=n;i++)

{t=1;for(j=1;j<=i;j++)t=tj;s=s+t;}

a. O(n)

b. O(n2)

d. O(n4)

89、含有n个结点的二叉树采用二叉链表存储时,空指针域的个数为()。

a. n-1

b. n

c. n+1

d. n+2

90、设某完全无向图中有n个顶点,则该完全无向图中有()条边。

a. n(n-1)/2

b. n(n-1)

c. n

d. n-1

1、调用一次深度优先遍历可以访问到图中的所有顶点。(F)

2、分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。(T)

3、冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。(T)

4、满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。(T)

5、设一棵二叉树的先序序列和后序序列,则能够确定出该二叉树的形状。(F)

6、线性表的顺序存储结构比链式存储结构更好。(F)

7、不论是入队列作还是入栈作,在顺序存储结构上都需要考虑“溢出”情况。(T)

8、完全二叉树中的叶子结点只可能在两层中出现。(T)

9、由树转化成二叉树,该二叉树的右子树不一定为空。(F)

10、线性表中的所有元素都有一个前驱元素和后继元素。(F)

1、head指向单链表的表头,p指向单链表的表尾结点,则执行p->next=head后,该单链表构成 循环链表

3、在一个长度为n的顺序表中的第i(1≤i≤n+1)个元素之前插入一个元素时,需向后移动的元素个数为 n-i+1 。

4、设顺序线性表中有n个数据元素,则删除表中第i个元素需向前移动 n-i 个元素。

6、在一个具有n个顶点的无向完全图中,包含 n(n-1)/2 条边。

7、对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小为 n^2 。

8、采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为 (n+1)/2 。

9、树型结构最适合用来表示元素之间具有 分支层次关系 的数据。

1、已知一棵二叉树的先(前)序遍历序列为ABDEGCFH,中序遍历序列为DBGEACFH,请画出该二叉树,并写出该二叉树的后序序列。

2、画出一棵二叉树,使其:中序序列为DCBGEAHFIJK,后序序列:DCEGBFHKJIA

3、请写出对(53, 87, 12, 61,98,17, 97, 75, 53, 26)进行一次划分的过程。

4、有一结点序列为(7,19,2,6,32,3,21,10),要求以该序列作为带权二叉树中结点的权值,构造并画出一棵哈夫曼树,并计算其带权路径长度。

5、对下面所示的无向网,要求构造出一棵最小生成树(中间过程可以省略),并计算该最小生成树的权。

6、下面所示为有向图的邻接表,试画出该有向图,并给出由顶点V1开始的深度优先遍历和广度优先遍历的结果。

7、有一结点序列为(45,24,53,12,28,90),要求构造并画出一棵二叉排序树,并输出以中序方式遍历该树的序列。

无论有向图还是无向图,顶点数n,边数e和度数之间有什么关系

就是说只要做i(i-1)/2次最短路径就可以了。

总度数(D)等于边数(e)的两倍。

各种排序方法的比较和选择: ·。待排序的记录数目n;n较大的要用时间复杂度为O(nlog2n)的排序方法;

D=2e

2、在单链表中,若p和s是两个指针,且满足p->next与s相同,则语句p->next=s->next的作用是 删除 s指向的结点。

图G的顶点数n和边数e的关系

1、若G是无向图,则0≤e≤n(n-1)/2。

恰有n(n-1)/2条边的无向图称无向完全图(Undireet-ed Complete Graph)。

2、若G是有向图,则0≤e≤n(n-1)。

恰有n(n-1)条边的有向图称为有向完全图(Directed Complete Graph)。

扩展资料

有向图的可达性

对于一个无向图来说,如果它是连通的,那么它的任意两个顶点之问必存在一条路径,因此,通过这一路径可从一个顶点“到达”另一个顶点,若从顶点“可以到达u,则从u也可以到达“,也即v和u之间是互相可以到达的。

对于有向图,情形就不同了,因为存在从u到v的路径,并不蕴涵也存在从v到u的路径。

设D是一个有向图,且u、v∈D,若存在从顶点u到顶点v的一条路径,则称从顶点v到顶点u可达。

可达的慨念与从u到v的各种路径的数目及路径的长度无关。另外,为了完备起见,规定任一顶点到达它自身的是可达的。

可达性是一个有向图顶点的二元关系,依照定义,它是自反的,且是传递的。一般来说,可达不是对称的,也不是反对称的。

参考资料来源:

无论有向图还是无向图,顶点数n、边数e和度数之间有什么关系?

总的度数=2e

e=n(n-1)/2

无论有向图还是无向图,顶点数n、边数e和度数之间有什么关系?总的度数=2ee=n(n-1)/2

无论有向图还是无向图,顶点数n、边数e和度数之间有...

比如,A<--->B,此时A的度数为2,B的度数也为2,度数之和为4,而边数为1

总的度数=2e e=n(n-1)/2

数据结构中的问题。在有向图中,顶点的度数与图中...

对于一个具有n个结点和e条边的无向图,若采用邻接表表示,则顶点表的大小...

这种情况怎么会A的度数为2,B的度数也为2,度数之和为4,而边数为1 如果有向图A的度数为2,B的度数也为2,(包括出度和入度)度数之和为4,边应该有两条边 度数之和等于两倍的边数

无向图和有向图的详细讲解,谢谢。

如果允许存在重边及自环的话应该可以有无穷多边,如果是单图的话,最多应该是其底图的最多的边数的2倍,即2|E(Kn)|=n(n-1)条边。

数据结构 要连通具有n个顶点的有向图,至少需要n条...

设一个包含N个顶点、E条边的简单有向图采用邻接矩阵存储结构(矩阵元素A...

设边数为E 首先,有向连通的一个必要条件是图的无向底图连通,这意味着E >= n-1 其次,证明E > n-1.因当E=n-1时,无向底图为树,任取两顶点s,t,从s到t有且只有一条无向路径,若有向路径s->t连通,则有向路径t->s必不存在.得证 再次,证明E可以=n.设n个顶...

设有向图G中顶点数为n(n>0),则图G最多有 条边

已知一个有向图g具有n个顶点和e条弧, 用邻接表来存储表示需要多少个弧结点

每个顶点(共n个顶点)都有指向其余所有结点(n-1个)的边时,有向图具有最多边 共有 n(n-1) 条边

总度数(D)等于边数(e)的两倍。

D=2e

图G的顶点数n和边数e的关系

1、若G是无向图,则0≤e≤n(n-1)/2。

恰有n(n-1)/2条边的无向图称无向完全图(Undireet-ed Complete Graph)。

2、若G是有向图,则0≤e≤n(n-1)。

恰有n(n-1)条边的有向图称为有向完全图(Directed Complete Graph)。

对于有向图最短路问题,计算步骤与求解无向图最短路问题相同,主要区别在于:无向图最短路问题使用单标号法。单标号法是对每一点赋予一个路权标号;而有向最短路问题使用双标号法.双标号法是对每一点赋予两个标号:路径和路权。

无论有向图还是无向图,顶点数n、边数e和度数之间有什么关系?

总的度数=2e

e=n(n-1)/2

无论有向图还是无向图,顶点数n、边数e和度数之间有什么关系?总的度数=2ee=n(n-1)/2

无论有向图还是无向图,顶点数n、边数e和度数之间有...

比如,AB,此时A的度数为2,B的度数也为2,度数之和为4,而边数为1

总的度数=2e

e=n(n-1)/2

数据结构中的问题。在有向图中,顶点的度数与图中...

对于一个具有n个结点和e条边的无向图,若采用邻接表表示,则顶点表的大小...

这种情况怎么会A的度数为2,B的度数也为2,度数之和为4,而边数为1

如果有向图A的度数为2,B的度数也为2,(包括出度和入度)度数之和为4,边应该有两条边

度数之和等于两倍的边数

无向图和有向图的详细讲解,谢谢。

如果允许存在重边及自环的话应该可以有无穷多边,如果是单图的话,最多应该是其底图的最多的边数的2倍,即2|E(Kn)|=n(n-1)条边。

数据结构

要连通具有n个顶点的有向图,至少需要n条...

设一个包含N个顶点、E条边的简单有向图采用邻接矩阵存储结构(矩阵元素A...

设边数为E

首先,有向连通的一个必要条件是图的无向底图连通,这意味着E

>=

n-1

其次,证明E

>n-1.因当E=n-1时,无向底图为树,任取两顶点s,t,从s到t有且只有一条无向路径,若有向路径s->t连通,则有向路径t->s必不存在.得证

再次,证明E可以=n.设n个顶...

设有向图G中顶点数为n(n>0),则图G最多有

条边

已知一个有向图g具有n个顶点和e条弧,

用邻接表来存储表示需要多少个弧结点

每个顶点(共n个顶点)都有指向其余所有结点(n-1个)的边时,有向图具有最多边

共有

n(n-1)

条边

图有十个顶点,则对应邻接矩阵真有多少个元素?

有根图:有一个顶点有路径到达其它顶点的有向图;简单路径:是经过顶点不同的路径;简单回路是开始和终端重合的简单路径;

一个图的邻接矩阵是一个方阵,它的行数和列数等于图typedef struct{中顶点的数量。如果一个图有$n$个顶点,则其邻接矩阵就是一个$ntimes n$的方阵。

C. 2

根据方阵的定义,一个$ntimes n$的方阵共有$n^2$个元素。因此,如果一个图有10个顶点,则其邻接矩阵真正含有$10^2=100$个元素。其中,每个元素对应了图中的一条边,如果该元素值为1表示边存在,否则表示边不存在。需要注意的是,一个无向图的邻接矩阵是对称的,因此只需要存储矩阵上(或下)三角形的元素即可,因此真正需要存储的邻接矩阵元素个数为$(n^2+n)/2=55$个。而对于有向图,邻接矩阵不一定对称,需要存储对角线以上和对角线以下的所有$n^2$个元素。

若一个有向图的邻接矩阵中 主对角线一下的元素均为零 请问该图是否为DAG图?

22、设某哈夫曼树中有199个结点,则该哈夫曼树中有( )个叶子结点。

当然是.

设不是一个DAG图,不妨令邻接矩阵的I26、设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为( )。D从小到大有序.

因为不是DAG图,必定存在环.

环经过c. 对栈不作任何判别的ID不可能单调有序,一定存在某个边,ID由小指向大,则该边出现在主对角线以下,矛盾.

求大工11秋《数据结构》在线作业1、2、3

a. e,d,c,b,a

大工11秋《数据结构》在线作业1

2. 顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。B

一,单选题

1. B

2. B

3. B

4. A

5. A

6. C

7. B

8. B

9. C

10.B

二,判断题

1.B

2.A

3.B

4.B

5.B

6.A

7.B

8.B

9.B

10.A

大工11秋《数据结构》在线作业2

一,单选题

1. difference(A,B,C)表示求A和B的集C。若A={b,c,d},B={c,e},则difference(A,B,C)运算后C=( )。

A. {b,c,d,e}

B. {c}

C. {b,d}

正确:C

A. 5

B. 6

C. 7

D. 8

正确:A

3. min(A),函数的返回值是A的所有元素中按线性序最小的那个元素。则min({2,3,4})=( )

A. 2

B. 3

C. 4

D. 0

正确:A

4. index(s,t)表示子串定位运算。若串t是串s的子串,则函数返回值是串t在串s中次出现的开始位置,否则返回值是0。若s="ababa",t="ba",则index(s,t)=( )。

A. 0

B. 1

D. 3

正确:C

5. 在一棵二叉树上第5层的结点数最多为(),设树根为第1层。

A. 16

B. 15

C. 8

D. 32

正确:A

6. intersection(A,B,C)表示求A和B的交集C。若A={b,c,d},B={c,e},则intersection(A,B,C)运算后C=( )。

A. {b,c,d,e}

B. {c}

C. {b,d}

正确:B

7. 在一个具有n个顶点和e条边的无向图的邻接表中,边结点的个数为()。

A. n

B. ne

C. e

D. 2e

正确:D

8. union(A,B,C)表示求A和B的并集C。若A={b,c,d},B={c,e},则union(A,B,C)运算后C=( )。

A. {b,c,d,e}

B. {c}

C. {b,d}

正确:A

9. 在一个具有n个顶点和e条边的有向图的邻接表中,保存顶点单链表的表头指针向量的大小至少为()。

A. n

B. 2n

C. e

D. 2e

正确:A

10. concat(s,t)表示连接运算。将串t连接在串s之后,形成新的串s。若s="beg",t="in",则concat(s,t)之后,s="( )"。

A. begin

d. G中有一条从Vj到Vi的路径B. bein

C. begn

D. beggin

正确:A

二,判断题

1. 树中的结点数等于所有结点的度数加1。

A. 错误

正确:B

2. 有向图用邻接表表示,顶点i的度是对应顶点i链表中结点个数。

A. 错误

正确:A

3. 字典是一种特殊的,其中每个元素由关键码和属性组成。

A. 错误

正确:B

4. 有向图用邻接表表示,顶点i的出度是对应顶点i链表中结点个数。

A. 错误

正确:B

5. 一个图的邻接矩阵表示是惟一的。

A. 错误

正确:B

6. 有向图的邻接矩阵一定是对称矩阵。

A. 错误

正确:A

7. 无向图的邻接矩阵一定是对称矩阵。

A. 错误

正确:B

8. 一个图的邻接表表示是惟一的。

A. 错误

正确:A

9. 非空二叉树上叶子结点数等于双分支结点数加1。

A. 错误

正确:B

10. 连通图的生成树不一定是惟一的。

A. 错误

正确:B

大工11秋《数据结构》在线作业3

一,单选题

1. 下述几种排序方法中,要求内存量的是()。

A. 插入排序

B. 选择排序

C. 堆排序

D. 归并排序

正确:D

2. 堆排序是一种()排序。

A. 插入

B. 选择

C. 交换

D. 归并

正确:B

3. 在长度为n的顺序表中进行顺序查找,查找失败时需与关键字比较次数是( )。

A. n

B. 1

C. n-1

D. n+1

正确:D

4. 用起泡排序方法对n个记录按排序码从小到大排序时,当初始序列是按排序码从大到小排列时,与排序码总比较次数是()。

A. n-1

B. n

C. n+1

D. n(n-1)/2

正确:D

5. 对线性表进行顺序查找时,要求线性表的存储结构是()。

A. 倒排表

B. 索引表

C. 顺序表或链表

D. 散列表

正确:C

6. 对于顺序存储的有序表(5,12,20,26,37,42,46,50,64),若采用折半查找,则查找元素26的查找长度为( ).

A. 2

B. 3

C. 4

D. 5

正确:C

7. 哈希表的平均查找长度和()无直接关系。

A. 哈希函数

B. 装填因子

C. 哈希表记录类型

D. 处理冲突的方法

正确:C

8. 排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为()。

A. 希尔排序

B. 归并排序

C. 插入排序

D. 选择排序

正确:D

9. 磁带适合存储的文件类型是()。

A. 索引文件

B. 顺序文件

C. 散列文件

D. 倒排文件

正确:B

10. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()。

A. 插入排序

B. 冒泡排序

C. 希尔排序

D. 选择排序

正确:A

二,判断题

1. 散列表既是一种查找方法,又是一种存储方法。

A. 错误

正确:B

2. 在散列文件中删除记录时,只要对被删记录作一标记即可。

A. 错误

正确:B

3. 散列文件中存放一组记录的存储单位称为桶。

A. 错误

正确:B

4. 二分查找对线性表的存储结构无任何要求。

A. 错误

正确:A

A. 错误

正确:A

6. 哈希表查找无须进行关键字的比较。

A. 错误

正确:A

7. 对快速排序来说,初始序列为正序和反序都是最坏情况。

A. 错误

正确:B

8. 在执行某个排序过程中,出现排序码朝着最终位置相反方向移动,则该算法是不稳定的。

A. 错误

正确:A

9. 堆排序是一种不稳定的排序方法。

A. 错误

正确:B

10. 若待排序记录已按排序码基本有序,则应采用直接插入排序或起泡排序。

A. 错误

正确:B

最后修改时间:
嘉定合景峰汇 嘉定合景峰汇物业电话
上一篇
弹钢琴的男孩子性格特点 弹钢琴的男生好
下一篇

相关文章