网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
所谓 ,即是按照某种次序,访问二叉树中的所有结点,使得每个结点被且仅被访问一次。
参考答案和解析
A
更多 “所谓 ,即是按照某种次序,访问二叉树中的所有结点,使得每个结点被且仅被访问一次。” 相关考题
考题
下面是对二叉树的叙述,其中错误的是 ( )A.二叉树的遍历是指不重复地访问二叉树中的所有结点B.二叉树的遍历允许重复地访问二叉树中的个别结点C.在遍历二叉树的过程中,一般先遍历左子树,然后再遍历右子树D.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历、后序遍历
考题
阅读下列说明和c函数代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】对二叉树进行遍历是二叉树的一个基本运算。遍历是指按某种策略访问二叉树的每个结点,且每个结点仅访问一次的过程。函数InOrder。()借助栈实现二叉树的非递归中序遍历运算。设二叉树采用二叉链表存储,结点类型定义如下:typedef struct BtNode{ElemTypedata; /*结点的数据域,ElemType的具体定义省略*/struct BtNode*ichiid,*rchild; /*结点的左、右弦子指针域*/)BtNode,*BTree;在函数InOrder()中,用栈暂存二叉树中各个结点的指针,并将栈表示为不含头结点的单向链表(简称链栈),其结点类型定义如下:typedef struct StNode{ /*链栈的结点类型*/BTree elem; /*栈中的元素是指向二叉链表结点的指针*/struct StNode*link;}S%Node;假设从栈顶到栈底的元素为en、en-1、…、e1,则不含头结点的链栈示意图如图5—5所示。【C函数】int InOrder(BTree root) /*实现二叉树的非递归中序遍历*/{BTree ptr; /*ptr用于指向二又树中的结点*/StNode*q; /*q暂存链栈中新创建或待删除的结点指针+/StNode*stacktop=NULL; /*初始化空栈的栈顶指针stacktop*/ptr=root; /*ptr指向二叉树的根结点*/while( (1 ) I I stacktop!=NULL){while(ptr!=NULL){q=(StNode*)malloc(sizeof(StNode));if(q==NULL)return-1;q-elem=ptr;(2) ;stacktop=q; /*stacktop指向新的栈顶*/ptr=(3 ) ; /*进入左子树*/}q=stacktop; (4) ; /*栈顶元素出栈*/visit(q); /*visit是访问结点的函数,其具体定义省略*/ptr= (5) ; /*进入右子树*/free(q); /*释放原栈顶元素的结点空间*/}return 0;}/*InOrder*/
考题
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次L.Locate(x)操作时,令元素值x的结点的访问频度 freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。【函数】void Locate( int x){ <结点类型说明>* p =first -> next;while(p!=frist(1))P=P->next;if(p! =first) /*链表中存在x*/{(2);<结点类型说明>* current = P; /*从链表中摘下这个结点*/Current -> prior -> next = current -> next;Current -> next -> prior = current -> prior;P = current -> prior; /*寻找重新插入的位置*/While(p! =first (3))p=p->prior;Current-> next =(4); /*插入在P之后*?Current -> prior = P;P -> next -> prior = current;P->next=(5);}else printf("Sorry. Not find! \n"); /*没找到*/}
考题
某二叉树前序遍历的结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则后序遍历的结点访问顺序是A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca
考题
某二叉树的前序遍历结点访问顺序是ABCDEFG,中序遍历的结点访问顺序是 CBDAFGE,则其后序遍历的结点访问顺序是( )。A.CDBGFEAB.CDGFEABC.CDBAGFED.CDBFAGE
考题
对二叉树进行后序遍历和中序遍历时,都依照左子树在前右子树在后的顺序。已知对某二叉树进行后序遍历时,结点M是最后被访问的结点,而对其进行中序遍历时,M是第一个被访问的结点,那么该二叉树的树根结点为M,且( )。A.其左子树和右子树都必定为空
B.其左子树和右子树都不为空
C.其左子树必定为空
D.其右子树必定为空
考题
单选题以下说法中不正确的是()。A
双向循环链表中每个结点需要包含两个指针域B
已知单向链表中任一结点的指针就能访问到链表中每个结点C
顺序存储的线性链表是可以随机访问的D
单向循环链表中尾结点的指针域中存放的是头指针
考题
填空题为了实现图的广度优先搜索,除了一个标志数组标志已访问的图的结点外,还需()存放被访问的结点以实现遍历。
热门标签
最新试卷