更多"树在数据结构中常采用孩子链表表示法、______、双亲表示法三种存储结"的相关试题:
[填空题]一棵具有n个结点的二叉树,采用二叉链表存储,则二叉链表中指向孩子结点的指针有_________个。
[单项选择]字符串采用链表存储方式时,每个结点存储多个字符有助于提高存储密度。若采用结点大小相同的链表存储串,则在串比较、求子串、串连接、串替换等串的基本运算中,()。
A. 进行串的比较运算最不方便
B. 进行求子串运算最不方便
C. 进行串连接最不方便
D. 进行串替换最不方便
[单项选择]字符串采用链表存储方式时,每个结点存储多个字符有助于提高存储密度。若采用结点大小相同的链表存储串,在串比较、求子串、串连接、串替换等串的基本运算中,()。
A. 进行串的比较运算最不方便
B. 进行求子串运算最不方便
C. 进行串连接最不方便
D. 进行串替换最不方便
[简答题]假设在表示一棵二叉树的二叉链表上增加两个域,双亲域用于指示其双亲结点,标志域flag(可取,0…2)的值,用以区分在遍历过程中到达该结点时继续向左或向右或访问该结点。试以此存储结构编写不用栈进行后序遍历的递推形式的算法。
[填空题]根据文字说明,请在以下______处填充适当的语句。
采用静态链表作存储结构,设置一个大小为2n-1的数组,令数组的每个元素由四个域组成:wt是结点的权值;lehild、rchild分别为结点的左、右孩子指针;parent是结点的双亲在数组中的下标。其数组元素类型定义如下:
typedef struet
{ float wt; /*权值*/
int parent,lchild rchild; /*指针域*/
}node;
typedef node hftree[2*n-1];
在这种存储结构上的哈夫曼算法可描述如下:
void huffman(int k,float W[k],hftree T) /*求给定权值W的哈夫曼树T*/
{ int i,j,x,y;
float m,n;
for(i=0;i<2*k-1;i++)
{ T[i].parent=-1;T[i].lchild=-1;T[i].rchild=-1;
if(______)T[i].wt=W[i];
else T[i].wt=0
}
for(i=0;i<k-1;i++)
{ x=0;y=0;m=maxint;n=maxint;
for(j=0;j<k-i,j++)
if(T[j].wt<m)&&(T[j].parent==-1){n=m;y=___;m=___;x=j;}
else if(T[j].wt<n)&&(T[j].parent==-1)){n=T[j].wt;y=j;)
}
T[x].parent=______;T[y].parent=______;
T[k+i].wt=______;
T[k+i].lchild=______;T[k+i].rchild=______;
}
[简答题]
假设以带双亲指针的二叉链表作为-二叉树的存储结构,其结点结构的类型说明如下所示:
typedef char
DataType;
typedef struct node{
DataType data;
struct node*lchild,*rchild;
//左右孩子指针
struct node*parent;
//指向双亲的指针
}BinTNode;
typedef
BinTNode*BinTree;
若px为指向非空二叉树中某个结点的指针,可借助该结构求得px所指结点在二叉树的中序序列中的后继。
[单项选择]线性表若采用链表存储结构,要求内存中可用存储单元地址 (35) 。
A. 必须连续
B. 部分地址必须连续
C. 一定不连续
D. 连续不连续均可
[判断题]某些大比例施工图中,在图形中常采用三根线条表示管道和管件的外形。( )
[单项选择]计算机中常采用原码、反码、补码和移码表示数据,其中,±0编码相同的是()。
A. 原码和补码
B. 反码和补码
C. 补码和移码
D. 原码和移码
[单项选择]计算机中常采用原码、反码、补码和移码表示数据,其中,±0编码相同的是 (3) 。
A. 原码和补码
B. 反码和补码
C. 补码和移码
D. 原码和移码
[单项选择]声卡中常采用Wave音效合成和MIDI音效合成来播放声音,其中MIDI音效合成有 (48) 两种方式。
A. FM(调频)和Wave Table(波表)
B. FM(调频)和AM(调幅)
C. AM(调幅)和Wave Table(波表)
D. FM(调频)和功率放大
[单项选择]与单向链表相比,双向链表()
A. 需要较少的存储空间
B. 遍历元素需要的时间较短
C. 较易于访问相邻结点
D. 较易于插入和删除元素
[单项选择]若在单向链表上,除访问链表中所有节点外,还需在表尾频繁插入节点,那么采用______最节省时间。
A. 仅设尾指针的单向链表
B. 仅设头指针的单向链表
C. 仅设尾指针的单向循环链表
D. 仅设头指针的单向循环链表
[单项选择]一些心理学家认为:一组特定的对孩子的双亲行为总是指示为接受;另一组总是指示为拒绝,因为在调查者中明显一致认为母亲的行为被作为表示双亲的态度。
上面心理学家的结论依赖于哪一个假设( )
A. 大多数母亲的行为被理解为或者表示接受或者表示拒绝
B. 指示接受或拒绝的母亲行为同样被父亲展示
C. 父亲对孩子的行为与母亲对孩子的行为研究得一样仔细
D. 接受和拒绝是辨识所有双亲行为的最简单方法
[填空题]已知h1和h2为两个单向链表的头指针,h1指向的链表不为空链表。add函数的功能是将h2指向的链表(简称h2链表)中全部结点插入到h1指向的链表(简称h1链表)中第n个结点(n>0)之后,如果h2链表为空链表,则函数直接返回h1链表首结点的地址。如果h1链表中不存在第n个结点,则将h2链表中全部结点添加到h1链表的末尾,函数返回h1链表首结点地址.链表结点采用如下形式的数据结构:
struct node
{ int data;
struct node *next;
};
#include
struct node *add(struct node *h1,struct node *h2,int n)
{struct node *p1=h1,*q=h2,*p2;
int i=0;
if(h2==___(27)___) return h1;
p2=h1;
while(p1&&inext;
___(28)___;
}
if(inext=q;
else
{
___(29)___=q;
while(q->next) q=q->next;
q->next=___(30)___;
}
return h1;
}