首页 > 考试题库
题目内容 (请给出正确答案)
[主观题]

写一算法检测单向链表中是否存在环(whether there is a loop in a link list),要求算法复杂度

写一算法检测单向链表中是否存在环

(whether there is a loop in a link list),

要求算法复杂度(Algorithm's complexity 是

O(n)) 并只使用常数空间(space is O(c)).

注意,你只知道一个指向单向链表头的指针。

链表的长度是不定的,而且环出现的地方也是不定

的,环有可能在头,有可能在中间。而且要求是检

测, 不能破坏环的结构.

暂无答案
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“写一算法检测单向链表中是否存在环(whether there…”相关的问题
第1题
试写一算法在带头结点的单链表结构上实现线性表操作Locate(L, x)。

点击查看答案
第2题
已知指针ha和hb分别指向两个单链表的头结点,并且已知两个链表的长度分别为m和n。试写一算法将
这两个链表连接在一起,假设指针hc指向连接后的链表的头结点,并要求算法以尽可能短的时间完成连接运算。请分析你的算法的时间复杂度。

点击查看答案
第3题
判断链表是否存在环型链表问题:

点击查看答案
第4题
怎么判断链表中是否有环?

点击查看答案
第5题
判断一个带附加头结点的双向循环链表L是否对称相等的算法如下所示,请在算法中的()处填人正确
判断一个带附加头结点的双向循环链表L是否对称相等的算法如下所示,请在算法中的()处填人正确

的语句。

点击查看答案
第6题
设以带头结点的双向循环链表表示的线性表试写一时间复杂度0(n)的算法,将L改造为

设以带头结点的双向循环链表表示的线性表试写一时间复杂度0(n)的算法,将L改造为

点击查看答案
第7题
写一段程序判断一个有向图G中节点w是否从节点v可达。(如果G中存在一条从v至w的路径就说节点w是
从v可达的)。

class Graph{

public:

int NumberOfNodes();//返回节点的总数

bool HasEdge(int u,int v);//u,v是节点个数,从零开始依次递增,当有一条从u到v的边时,返回true

};

bool Reachable(Graph&G, int v, int w){

//请写入你的算法

点击查看答案
第8题
试写一个算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i≠j)。 假设分别基于下述策略:1)图的深度优先搜索2)图的广度优先搜索。
试写一个算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i≠j)。 假设分别基于下述策略:1)图的深度优先搜索2)图的广度优先搜索。

点击查看答案
第9题
已知线性表中的元素以值递增有序排列,并以单链表作存储结元素(若表中存在这样的元素),同时释
已知线性表中的元素以值递增有序排列,并以单链表作存储结元素(若表中存在这样的元素),同时释

放被删结点空间,并分析你的算法的时间复杂度(注意,mink和maxk是给定的两个参变量,它们的值可以和表中的元素相同,也可以不同)。

点击查看答案
第10题
已知指针la和1b分别指向两个无头结点单链表中的首元结点。下列算法是从表la中删除自第i个元素
起共len个元素后, 将它们插入到表1b中第i个元素之前。试问此算法是否正确?若有错,请改正之。

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改