关于数据结构的几个问题 判断对与错。也请解释下

1.数据元素是数据结构中讨论的最小单位。( )
2.二叉排序树是静态查找表。( )
3.有序表不可以使用顺序查找。( )
4.用折半查找方法查找一个线性表时,要求该线性表必须具有的特点是顺序存储且有序。 ( )
5.队列的存储结构只能用顺序表。( )
6.堆栈是后进先出的线性表。( )
7.如频繁对一个线性表进行插入和删除操作,则该线性表宜采用顺序存储结构。( )
8.树的深度是树中叶子结点所在的层次之和。( )
9.在二叉树的第 i 层上至多有2i-1 个结点。( )
10.算法设计与数据的存储结构有关。( )
11循环链表不是线性表. ( )
12线性表在链式存储时,查找第i个元素的时间同i的值成正比。( )
13顺序表中逻辑上相邻的元素物理位置不一定相邻。( )

第1个回答  2012-12-29
1.对的
数据元素是能够独立、完整地描述问题世界中的实体的最小数据单位,它是数据这个集合中的一个一个的元素。
2.错的
动态查找表—二叉排序树
3.错的
有序表既可以使用顺序查找,又可以使用折半查找
4.对的
5.错的
也可以用链表或者是循环链表
6.对的
这就是堆栈的特性,和队列不同,队列是先进先出
7.错的
更适合采用链式存储结构,否则插入或删除一个元素要移动很多元素,耗费时间复杂度
8.错的
树的深度是树中结点的最大层次数
9.错的
最多有2的i-1次方个结点(这是不是你打不出来那个方的运算啊)
10.对的
11.错的
循环链表也是线性链表的一种形式,还有一种形式是双向链表
12.错的
链式存储的查找时间只和元素所在位置有关,和值没有关系吧
13.错的
在顺序存储结构中逻辑上相邻的数据元素在物理地址上也必然相邻追问

你答案有问题噢 第一题,数据项是最小单位 第12题也有问题。。
第7题错的原因是 应该采用链式存储。。还有第5题应该是对的吧 只能用顺序表。。

追答

……第1题是特意去书上找的,就是《数据结构教程(第二版)》(唐发根著)第2页第1行,一个字都木有打错……看来是书的问题了…… 第7题错的原因我不是说了吗…… 第12题我觉得我没错啊,不然给个反例吧…… 第5题队列是真的有链式存储结构的,如下
第五题队列的链式结构——这下你可以相信了吧……
#include
#include
#define Max 100
typedef struct node
{
int data;
struct node *link;
}QNode,*QLink;

int EmptyQLink();
QLink GetLinkQ();
QLink AddLinkQ();
QLink DelLinkQ();
void DesLinkQ();

int main()
{
QLink front,rear,p;
int a[Max],i=0,n;
front=rear=NULL;
while(scanf("%d",&a[i])==1)
{
i++;
if(getchar()=='\n')
break;
}
n=i;
for(i=0;idata=a[i];
p->link=NULL;
if(front==NULL)
front=p;
else
rear->link=p;
rear=p;
}
front=DelLinkQ(front);
while(front!=NULL)
{
printf("%d ",front->data);
front=front->link;
}
printf("\n");
}
//测试链接队列是否为空
int EmptyQLink(QLink front)
{
return front==NULL;
}

//取当前队头元素
QLink GetLinkQ(QLink front,int item)
{
if(EmptyQLink(front))
return NULL;
return front;
}

//链接队列的插入
QLink AddLinkQ(QLink front,QLink rear,int item)
{
QLink p;
p=(QLink)malloc(sizeof(QNode));
p->data=item;
p->link=NULL;
if(front==NULL)
front=p;
else
rear->link=p;
rear=p;
return rear;
}

//链接队列的删除
QLink DelLinkQ(QLink front)
{
QLink p;
if(EmptyQLink(front))
return NULL;
p=front;
front=front->link;
free(p);
return front;
}

//链接队列的销毁
void DesLinkQ(QLink front,QLink rear)
{
while(front)
{
rear=front->link;
free(front);
front=rear;
}
}

第2个回答  2012-12-29
有数据结构方面的资料视.频
你可以了解一下。
希望对你有帮助。

(欢迎采纳)

关于数据结构的几个问题 判断对与错。也请解释下
4.对的 5.错的 也可以用链表或者是循环链表 6.对的 这就是堆栈的特性,和队列不同,队列是先进先出 7.错的 更适合采用链式存储结构,否则插入或删除一个元素要移动很多元素,耗费时间复杂度 8.错的 树的深度是树中结点的最大层次数 9.错的 最多有2的i-1次方个结点(这是不是你打不出来那...

相似回答