高分求数据结构(C语言)高手做题!(200悬赏+50追加+20采纳=270分)

1.数据结构在计算机中的表示称为数据的( )。
A)存储结构 B)抽象结构 C)顺序结构 D)逻辑结构
12.在下列序列中,不是线性表的是( )。
A)('a','b','c') B)('AB','CD') C)('a',true,'c') D)(a,b,c,d)
13.线性链表中各链结点之间的地址( )。
A)必须连续 B)部分地址必须连续 C)不一定连续 D)连续与否无所谓
14.如某链表中最常用的操作是在最后一个结点后插入一个结点和删除最后一个结点,则( )存储方式最节省运行时间。
A)单链表 B)带头结点的单链表 C)单循环链表 D)带头结点的双循环链表
26.从一个具有头结点的单链表中查找数据元素值为x的结点时,在查找成功的情况下,平均比较次数是( )。
A)n B)n/2 C)(n-1)/2 D)(n+1)/2
27.对于长度为n的顺序线性表进行删除元素操作,如删除每个元素的概率相同,则删除一个元素移动元素的平均次数是( )。
A)n/2 B)(n-1)/2 C)(n+1)/2 D)Dn
38.串是( )。
A)不少于一个字符的序列 B)有限个字符的序列
C)不少于一个字母的序列 D)任意个字母的序列
40.当矩阵非零元素的位置或个数经常变动时,采用( )存储结构更为恰当。
A)顺序表 B)三元组表 C)十字链表 D)广义表
41.一个三对角矩阵An×n已按行压缩存储到一维数组B中,则B的长度至少为()。
A)3n+1 B)3n C)3n-1 D)3n-2
42.广义表((a,b),(c,d))的表尾是( )。
A)(c,d) B)((c,d)) C)(d) D)d
44.设一棵二叉树中没有度为1的结点,已知叶子结点数为n,此树的结点数为( )。
A)2n+2 B)2n+1 C)2n D)2n-1
45.设二叉树中有n2个度为2的结点,n1个度为1的结点,n0个叶子结点,则此二叉树中空指针域个数为( )。
A)n0+n1+n2 B)n2+n1+2n0 C)2n2+n1 D)2n0+n1
48. A、B两个结点可以构成( )棵不等价的二叉树。
A)2 B)3 C)4 D)5
49.设哈夫曼树的叶结点数为n,则它的结点总数为( )。
A)2n-1 B)2n C)2n+1 D)不确定
50.采用邻接表存储的图按深度优先搜索方法进行遍历的算法类似于二叉树的( )。
A)先序遍历 B)中序遍历 C)后序遍历 D)层次遍历
59.快速排序执行一遍之后,已经到位的元素个数是( )。
A)1 B)3 C) D)
60.在下列算法中,操作时间不随文件的初始状态变化的排序算法是( )。
A)堆排序 B)折半插入排序 C)基数排序 D)快速排序
61.数据表中有10000个元素,如果仅需求出其中最大的10个元素,则采用( )排序算法最节省时间。
A)快速排序 B)希尔排序 C)堆排序 D)直接选择排序
62.快速排序在最坏情况下时间复杂度是O(n2),比( )的性能差。
A)堆排序 B)起泡排序 C)选择排序 D)直接插入排序
63.下列排序算法中一趟结束后未必能选出一个元素放在其最终位置上的算法是()。
A)快速排序 B)冒泡排序 C)树形选择排序 D)归并排序
64.若需在O(nlogn)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( )。
A)快速排序 B)堆排序 C)归并排序 D)直接插入排序
65.初始文件中有两个关键字相同的记录,通过不稳定的排序方法排序后,()。
A)使得领先关系不发生变化 B)领先关系一定发生变化
C)两个位置都不会发生变化 D)领先关系可能发生变化
66.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用( )方法平均时间最少。
A)起泡排序 B)简单选择排序 C)Shell排序 D)堆排序
77.一组记录的排序码为(48,24,18,53,16,26,40),采用冒泡排序法进行排序,则第一趟排序需要进行记录交换的次数是()。
A)3 B)4 C)5 D)6
78.在下列排序方式中,关键码比较次数与记录的初始排列无关的是()。
A)直接选择排序 B)冒泡排序 C)堆排序 D)归并排序
79.倒排文件的最大优点是( )。
A)便于进行文件的归并 B)有利于文件的插入与删除
C)能大大地提高主关键字的查找速度 D)能大大地提高次关键字的查找速度

80.文件中可使用的数据的最小单位是( )。
A)记录 B)字符 C)数据项 D)数据元素
81.ISAM文件和VASM文件属于( )。
A)索引非顺序文件 B)索引顺序文件 C)顺序文件 D)散列文件
A)先序遍历 B)中序遍历 C)后序遍历 D)按层遍历
181.使用散列函数hashf(x)=x MOD 11,把一个整数值转换成散列表下标,现要把数据 1、13、12、34、38、33、27、22插入到散列表中。
(1)使用线性探查再散列法来构造散列表并同时列出每个数据的比较次数。
(2)使用链地址法来构造散列表。

1.数据结构在计算机中的表示称为数据的( B )。
A)存储结构 B)抽象结构 C)顺序结构 D)逻辑结构
12.在下列序列中,不是线性表的是( D )。
A)('a','b','c') B)('AB','CD') C)('a',true,'c') D)(a,b,c,d)
13.线性链表中各链结点之间的地址( D )。
A)必须连续 B)部分地址必须连续 C)不一定连续 D)连续与否无所谓
14.如某链表中最常用的操作是在最后一个结点后插入一个结点和删除最后一个结点,则( D )存储方式最节省运行时间。
A)单链表 B)带头结点的单链表 C)单循环链表 D)带头结点的双循环链表
26.从一个具有头结点的单链表中查找数据元素值为x的结点时,在查找成功的情况下,平均比较次数是( B)。
A)n B)n/2 C)(n-1)/2 D)(n+1)/2
27.对于长度为n的顺序线性表进行删除元素操作,如删除每个元素的概率相同,则删除一个元素移动元素的平均次数是( B )。
A)n/2 B)(n-1)/2 C)(n+1)/2 D)Dn
38.串是( B )。
A)不少于一个字符的序列 B)有限个字符的序列
C)不少于一个字母的序列 D)任意个字母的序列
40.当矩阵非零元素的位置或个数经常变动时,采用( C )存储结构更为恰当。
A)顺序表 B)三元组表 C)十字链表 D)广义表
41.一个三对角矩阵An×n已按行压缩存储到一维数组B中,则B的长度至少为(C)。
A)3n+1 B)3n C)3n-1 D)3n-2
42.广义表((a,b),(c,d))的表尾是( A )。
A)(c,d) B)((c,d)) C)(d) D)d
44.设一棵二叉树中没有度为1的结点,已知叶子结点数为n,此树的结点数为( B )。
A)2n+2 B)2n+1 C)2n D)2n-1
45.设二叉树中有n2个度为2的结点,n1个度为1的结点,n0个叶子结点,则此二叉树中空指针域个数为( D )。
A)n0+n1+n2 B)n2+n1+2n0 C)2n2+n1 D)2n0+n1
48. A、B两个结点可以构成( C )棵不等价的二叉树。
A)2 B)3 C)4 D)5
49.设哈夫曼树的叶结点数为n,则它的结点总数为( A )。
A)2n-1 B)2n C)2n+1 D)不确定
50.采用邻接表存储的图按深度优先搜索方法进行遍历的算法类似于二叉树的(D )。
A)先序遍历 B)中序遍历 C)后序遍历 D)层次遍历
59.快速排序执行一遍之后,已经到位的元素个数是( A )。
A)1 B)3 C) D)
60.在下列算法中,操作时间不随文件的初始状态变化的排序算法是( B )。
A)堆排序 B)折半插入排序 C)基数排序 D)快速排序
61.数据表中有10000个元素,如果仅需求出其中最大的10个元素,则采用( D )
A)快速排序 B)希尔排序 C)堆排序 D)直接选择排序
62.快速排序在最坏情况下时间复杂度是O(n2),比( D )的性能差。
A)堆排序 B)起泡排序 C)选择排序 D)直接插入排序
63.下列排序算法中一趟结束后未必能选出一个元素放在其最终位置上的算法是(A)。
A)快速排序 B)冒泡排序 C)树形选择排序 D)归并排序
64.若需在O(nlogn)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( B )。
A)快速排序 B)堆排序 C)归并排序 D)直接插入排序
65.初始文件中有两个关键字相同的记录,通过不稳定的排序方法排序后,(D)。
A)使得领先关系不发生变化 B)领先关系一定发生变化
C)两个位置都不会发生变化 D)领先关系可能发生变化
66.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用( B )方法平均时间最少。
A)起泡排序 B)简单选择排序 C)Shell排序 D)堆排序问题补充:

77.一组记录的排序码为(48,24,18,53,16,26,40),采用冒泡排序法进行排序,则第一趟排序需要进行记录交换的次数是(C)。
A)3 B)4 C)5 D)6
78.在下列排序方式中,关键码比较次数与记录的初始排列无关的是(D)。
A)直接选择排序 B)冒泡排序 C)堆排序 D)归并排序
79.倒排文件的最大优点是( B)。
A)便于进行文件的归并 B)有利于文件的插入与删除
C)能大大地提高主关键字的查找速度 D)能大大地提高次关键字的查找速度

80.文件中可使用的数据的最小单位是(B )。
A)记录 B)字符 C)数据项 D)数据元素
81.ISAM文件和VASM文件属于(C )。
A)索引非顺序文件 B)索引顺序文件 C)顺序文件 D)散列文件
A)先序遍历 B)中序遍历 C)后序遍历 D)按层遍历
181.使用散列函数hashf(x)=x MOD 11,把一个整数值转换成散列表下标,现要把数据 1、13、12、34、38、33、27、22插入到散列表中。
(1)使用线性探查再散列法来构造散列表并同时列出每个数据的比较次数。
(2)使用链地址法来构造散列
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-09
法加了一个判断,仅此而已,便于初学者的理解。

//---------------------------------------------------------------------------

已经更改为你要的程序:

//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#define ENDIN (-1) /*括号里面的-1是结束标志,可以在此改为其它的整数*/

typedef struct Node{
int data;
struct Node *r;
struct Node *l;
} node;

typedef node *bt;

bt BST(bt a,int d)
{
if (a==NULL) {
a=(bt)malloc(sizeof(node));
a->data =d;
a->r=a->l=NULL;

}
else if (d<a->data ) {
a->l=BST(a->l ,d);
}
else if (d>=a->data ) {
a->r=BST(a->r,d);
}
return a;
}
bt init(void) /*创建一颗二叉排序树,输入结束标志时结束输入*/
{
int i=0;
bt tree=NULL;
while (scanf("%d",&i),i!=ENDIN){

tree=BST(tree,i);
}
return tree;
}
unsigned int inorder(bt a) /*中序遍历输出叶结点,并返回叶结点的个数*/
{
static unsigned int s=0;
if (a) {
inorder(a->l);
if (a->r==NULL&&a->l==NULL) {
++s;
printf("%d\t",a->data);
}
inorder(a->r);
}
return s;
}

void FreeTree(bt t) /*删除树*/
{
if (t) {
FreeTree(t->l);
FreeTree(t->r);
}
free(t);
}
int main(void)
{
bt te;
te=init();
printf("\n\nLeaf node:%d\n\n",inorder(te));
FreeTree(te);
return 0;
}
//---------------------------------------------------------------------------
第2个回答  2011-04-08
B C C D D
B B B A B
D D C D A
A C C A D
B D D

补充里面的DCCCB追问

大哥~麻烦您把题号标一下~

追答

1.B
12.C
13.C
14.D
26.D
27.B
38.B
40.B
41.A
42.B
44.D
45.D
48.C
49.D
50.A
59.A
60.A
61.C
62.A
63.D
64.B
65.D
66.D

77.D
78.C
79.C
80.C
81.B

第3个回答  2011-04-29
这么多题啊,还好都是选择题
1.B 、12.C、13.D、14.D、26.D
27.B、38.B、40.C、41.A、42.B
44.D、45.A、48.C、49.D、50.A
59.A、60.B、61.C、62.A、63.D
64.B、65.D、66.C

77.D、78.C、79.B、80.C、81.B本回答被提问者采纳
第4个回答  2011-04-08
小子,你花头不小啊,这样搞,还算是你复习的吗?你怎么不干脆把期末考卷贴这来啊?追问

不做题拿分 麻烦一边凉快着。。

追答

...............你厉害~!

一个有关C语言(数据结构)程序设计题 高手请帮忙,高分!
define INFINITY 32767 define MAX_VEX 20 \/\/最大顶点个数 define QUEUE_SIZE (MAX_VEX+1) \/\/队列长度 bool *visited; \/\/访问标志数组 \/\/图的邻接矩阵存储结构 typedef struct{ char *vexs; \/\/顶点向量 int arcs[MAX_VEX][MAX_VEX]; \/\/邻接矩阵 int vexnum,arcnum; \/\/图的当前顶点数和...

求严蔚敏《数据结构题集(C语言版)》完整答案 高分
我只有算法部分的你要么???

《数据结构》复习题 答案 高分求救!
C E F C、C G B A E D F G D、G C B E F D A 6、下面哪个结构属于线形结构 (C )A 二叉排序树 B 线索树 C 队列 D 图 7、栈和队列都是 ( )A 没有限制的线形表 B 没有限制的非线形表 CD 8、在线性表操作中,常对某元素插入或删除。则采用什么存贮结构最节省运算时间...

高分求数据结构与算法答案
1-5 ACDCC 6.你写的我分不清,答案是2的(i-1)次方7-10 CCCB 11-15 BDA()C 16-18 CDA 46-50 CCACB 14题 B_树 是不是biinary tree(二叉树)啊?,没说清楚,没法回答。就一题了,估计你自己也能解决,这些题都很基础,不难。

求《数据结构(C语言版)》严蔚敏编著课本例子原代码
你可以参照 秦峰 的数据结构,里面内容详细,适合初学者 清华大学出版社,大部分数据结构我都敲了,放在压缩包里了。

帮我对比一下这几种专业(超高分悬赏!满分200分!)
主要课程:电路原理、模拟电子技术、数字逻辑、数字分析、计算机原理、微型计算机技术、计算机系统结构、计算机网络、高级语言、汇编语言、数据结构、操作系统等。 主要实践性教学环节:包括电子工艺实习、硬件部件设计及调试、计算机基础训练、课程设计、计算机工程实践、生产实习、毕业设计(论文)。 修业年限:四年 授予学...

数据结构与算法试题,高分,求答案啊
将此二元树构造出来。答: A \/ \\ B F \/ \\ \/ \\ C D G H \/ \\ I E 4.分析下列程序的运行时间:A) void mystery(int n){int i, j, k;for(i=1; i<n; i++)for(j=i+1; j<=n; j++)for(k=1; k<=j; k++){some statement ...

关于数据结构的问题,用C语言描述
最优二叉树是为了解决特定问题引出的特殊二叉树结构,它的前提是给二叉树的每条边赋予了权值,这样形成的二叉树按权相加之和是最小的。最优二叉树一节,直接考查算法源码的很少,一般是给你一组数据,要求你建立基于这组数据的最优二叉树,并求出其最小权值之和,此类题目不难,属送分题。6.树与森林:二叉树是一种...

请问计算机零基础考研怎么复习数据结构?
对于C语言的要求不会很高,我给你归纳一下:1.基本语法要非常熟悉,比如函数结构,循环结构,switch,struct, typedef, static等等。2.熟练使用指针,要会用malloc()以及free()还有sizeof(),并且理解原理以及工作过程 3.熟练使用函数递归调用,并且理解其思想,因为很多数据结构本身就是递归定义的,比如...

c语言(高分)
c语言(高分) 常用算法的应用1.递推算法(常用级数、数列求和、二分法、梯形积分法、穷举法等);2.排序算法(选择法、冒泡法);3.查找算法(顺序查找、折半查找);4.有序数列的插入、删除操... 常用算法的应用1.递推算法(常用级数、数列求和、二分法、梯形积分法、穷举法等);2.排序算法(选择法、冒泡法);3.查找...

相似回答