题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2024-02-09 21:21:04

[简答题]单链表L是一个带有头结点的有序链表,设计一个算法判断L是否为按数值递减的链表。如果l是递减链表,那么就返回1,否则返回0。请回答下列问题:
总结所用算法的时间和空间复杂度。

更多"单链表L是一个带有头结点的有序链表,设计一个算法判断L是否为按数值递减"的相关试题:

[简答题]单链表L是一个带有头结点的有序链表,设计一个算法判断L是否为按数值递减的链表。如果l是递减链表,那么就返回1,否则返回0。请回答下列问题:
给出算法的主要思想;
[简答题]
已知一个带有表头结点的单链表,结点结构为,假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求:
描述算法的基本设计思想;

[简答题]设有一个带头结点的循环单链表,其结点值均为正整数。试设计一个算法,反复找出单链表中结点值最小的结点,并输出之,然后将该结点从中删除,直到单链表空为止,最后再删除表头结点。
给出算法的基本设计思想;
[简答题]设计在无头结点的单链表中删除第i个结点的算法。
[单项选择]在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是()。
A. O(1)
B. O(n)
C. O(nlogn)
D. O(n2)
[单项选择]有n个结点的有序单链表中插入一个新结点并保持有序的运算的时间复杂度为______。
A. O(1)
B. O(logn)
C. O(n)
D. O(n2)
[填空题][说明]
已知一棵二叉树用二叉链表存储,t指向根结点,p指向树中任一结点。下列算法为输出从t到p之间路径上的结点。
[函数]
#define MaxSize 1000
typedef struct node
TelemType data;
struct node *lchild,*rchild;
BiNode, *BiTree;
void Path(BiTree t, BiNode *p)
BiTree *stack EMaxsize], *stack1 [maxsize], *q;
int tag[Maxsizel, top=0, top1;
q=t;
/*通过前序遍历发现P*/
do while (q!=NULL&&q! =p)
/*扫描左孩子,且相应的结点不为p*/
(1) ;
stack [top] =q;
tag [top] =0;
(2) ;

if (top>0)
if (stack [top]==P) break; /*找到p,栈底到栈顶为t到p*/
if(tag[top]==1) top--;
else q=stack[top];
q=q->rchild;
tag [top] =1;


(3) ;
top--; top1=0;
while(top>0)
q=stack [top]; /*反向打印准备*/
top1++;
(4) ;
top--;

while( (5) ) /*打印栈的内容*/
q=stack1[top1];
printf (q->data);
top1--;



[填空题]下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <stdlib.h>
#define N 8
typedef struct list
int data;
struct 1ist * next;
SLIST;
void fun(SLIST * h, int x)
SLIST * P, * q, * s;
s=(SLIST* )malloc(sizeof(SLIST));
/********** found********** /
s->data=______;
q=h;
p=h->next;
while(p! =NULL && x>p->data)
/********** found********** /
q=______;
p=p->next;

s->next=p;
/********** found********** /
q->next=______;

SLIST * creatlist(int * a)
SLIST * h, * p, * q; int i;
h=p=(SLIST * )malloc(sizeof(SLIST));
for(i=0; i<N; i ++)
q=(SLIST * )malloc(sizeof(SLIST));
q->data=a[i]; p->next=q; p=q;

p->next=0;
return h;

voi

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码