首页 > 其他分享 >C习题-链表01

C习题-链表01

时间:2023-08-01 20:44:18浏览次数:40  
标签:优先 遍历 复杂度 next 链表 01 顶点 习题

1、用邻接表表示图进行深度优先遍历时,通常是采用()来实现算法的。 A.栈 B.队列 C.树 D.图 答案:A;

深度优先遍历(DFS):
从某个顶点出发,一直往下一个顶点遍历,直到没有下一个顶点为止,再返回上一个顶点的其他路径继续进行深度优先,直到该出发顶点的所有深度优先遍历结束,同样的操作对每个顶点都进行一次。

广度优先遍历(BFS):
从某个顶点出发,把所有的下一层顶点都依次遍历,结束后再对该层每个顶点广度优先遍历,直到该出发顶点的广度优先遍历结束,同样的操作对每个顶点都进行一次。

深度DFS:需要递归,使用顺序栈;广度BFS:类似层次遍历;需要循环队列。   2.下列算法的功能是什么?
/*L是无头节点单链表*/
LinkList Demo(LinkList L){
    ListNode *Q,*P;
    if(L&&L->next){
        Q=L;
        L=L->next;
        P=L;
        while(P->next)
            P=P->next;
        p->next=Q;
    }
    return L;
}
A、遍历链表 B、链表深拷贝 C、链表反转 D、单链表转变为循环链表

答案:D

Q指向链表的头节点,遍历P,使P指向链表的最后一个节点,使最后一个节点指向链表的头节点。

 

3、若广义表A满足Head(A) = Tail (A), 则A为?

A、( ) B、( ( ) ) C、( ( ), ( ) ) D、( ),( ),( )) 答案:B; 只有非空广义表才有表头和表尾这两个概念,A是一个空表。   4、线性表(a_1,a_2,a_3,...,a_n)(a1​,a2​,a3​,...,an​)以链表方式存储时,访问第i位置元素的时间复杂性为()? A、O(i) B、O(1) C、O(n) D、O(i-1) 答案:C;i是1到n的所有可能,所以复杂度是O(n)。   5、将N条长度均为M的有序链表进行合并,合并以后的链表也保持有序,时间复杂度为() A、O(N * M * logN) B、O(N*M) C、O(N) D、O(M) 答案:A; (1)首先取出每个链表的第一个元素放在大小为N的数组中,此处的时间复杂度为O(N);并调整成为小根堆,调整堆的时间复杂度为O(lgN) (2)取出数组的第一个元素。将该元素所在链表的下一个元素放在数组的第一个位置,继续调整,使之成为小根堆; (3)重复(2),如果有一个链表已经为空,则改变数组的大小。 共调整MN-1次,调整堆的时间复杂度为O(M*N*lgN);建堆的时间复杂度为O(N);故总的时间复杂度为 O(M*N*lgN)
 

标签:优先,遍历,复杂度,next,链表,01,顶点,习题
From: https://www.cnblogs.com/ljf-0804/p/17599033.html

相关文章

  • 20230801 数论基础学习笔记
    理论基础中国剩余定理及拓展已知\(x\equiva_i(\bmodp_i\)\),求\(x\bmod\operatorname{lcm}\{p_i\}\)的值。若\(p_i\)互质,那么我们只需要计算\(c_i\)使得\[\prod\limits_{j\nei}\cdotc_i\bmodp_i=1\]然后有\[x=\sum\limits_{i}c_ia_i\prod\limits......
  • 2023/08/01
    天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时......
  • vs编译 error C2001: 常量中有换行符(XTHS实测有效)
    出现该错误的其中一种可能:编码问题,其中一个解决办法是:找到这个文件位置,选择用Notepad++方式打开,选择菜单项中的"编码"---》“使用UTF-8-BOM编码”,然后保存,再回到VS将会收到重新加载文件的提示。 转自:vs编译errorC2001:常量中有换行符_简单前行的博客-CSDN博客......
  • 什么时候该用数组型容器、什么时候该用链表型容器?
    选择数组型容器还是链表型容器取决于特定的使用场景和需求。以下是一些指导原则:使用数组型容器的情况:快速随机访问:数组在具有固定大小的情况下,可以通过索引进行快速随机访问,时间复杂度为O(1)。这是因为数组的元素在内存中是连续存储的。内存连续性:数组在内存中是连续存储......
  • 渗透-01:DNS原理和HTML字符编码-HTML实体编码
    一、DNS概念DNS(DomainNameSystem的缩写)就是根据域名查出IP地址(常用)DNS分类:正向解析:已知域名解析IP反向解析:已知IP解析对应的域名二、查询过程工具软件dig可以显示整个查询过程[root@node01~]#digbaidu.com;<<>>DiG9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13<<......
  • Windows server 2012 服务器允许多用户同时远程桌面的设置
    错误表现如下方法1.在运行里面(Windows+R)或者右击开始菜单,选择运行,输入“gpedit.msc”命令2.计算机组策略”依次打开计算机配置-->管理模板--->windows组件--->远程桌面服务--->远程桌面会话主机--->连接3.在连接里面找到“限制连接的数量”双击,显示如图,选中“已启用”and我设置......
  • 01-[Linux][Regulator]使用LDO编程示例
    1、在驱动代码中使用LDO供电操作的步骤如下:找到需要操作的LDO名字,如MTK平台:vio28在dts中找到相应的节点,如下所示:mt_pmic_vio28_ldo_reg:ldo_vio28{ regulator-name="vio28"; regulator-min-microvolt=<2800000>; regulator-max-microvolt=<2800000>; regulator-e......
  • Could not find server 'server name' in sys.servers. SQL Server 2014
    Couldnotfindserver'servername'insys.servers.SQLServer2014  Atfirstcheckoutthatyourlinkedserverisinthelistbythisqueryselectnamefromsys.serversIfitnotexiststhentrytoaddtothelinkedserverEXECsp_addl......
  • Windows Server 2016 OVF, updated Jul 2023 (sysin) - VMware 虚拟机模板
    WindowsServer2016OVF,updatedJul2023(sysin)-VMware虚拟机模板2023年6月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2016-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现在......
  • Windows Server 2016 中文版、英文版下载 (updated Jul 2023)
    WindowsServer2016中文版、英文版下载(updatedJul2023)WindowsServer2016Version1607,2023年7月更新请访问原文链接:https://sysin.org/blog/windows-server-2016/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org本站将不定期发布官方原版风格月度更新IS......