`
kofsky
  • 浏览: 196698 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

链表的几个思考题

阅读更多

链表若干


1.怎么判断链表中是否有环?
(附:怎么快速检测出一个巨大的链表中的死链?)

2.给你一个单向循环链表,怎么找出这个链表循环部分的第一个节点?

3.链表逆序?

4.一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点?

5.给定一个链表的头指针,在一次遍历中,找出这个链表中的中间节点并返回。

6.查找链表中倒数第k个节点(只允许遍历链表一次)

7.编写实现链表排序的一种算法

8.找两个链表的第一个公共节点

----------------------------
有几个脑壳瓜子都想破都没想一丁点头绪。。。。看来智力还是颇为有限。。。。。

1.怎么判断链表中是否有环?
(附:怎么快速检测出一个巨大的链表中的死链?)
两个指针
一个步长为1,一个步长为2,同时移动。判断其是否相等。
如果数据量巨大的话,http://topic.csdn.net/t/20040906/09/3343269.html

2.给你一个单向循环链表,怎么找出这个链表循环部分的第一个节点?
跟第一个略有不同。第一个只是判断是否有环,而这个是要找出第一个节点。
标记法不错。hash也可以,貌似

3.链表逆序?

4.一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点?
把next节点的key区域复制到本节点,然后删除next节点

5.给定一个链表的头指针,在一次遍历中,找出这个链表中的中间节点并返回。
和1类似

6.查找链表中倒数第k个节点
两个指针,保持距离k

7.编写实现链表排序的一种算法
感觉,插入排序最直接。快排也行,要复杂些,貌似。

8.找两个链表的第一个公共节点
如果有公共节点,那么该节点后面的节点全部都是两链表公共部分。

分享到:
评论

相关推荐

    计算机二级C语言考试题预测

    一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都...

    数据结构实验指导书(单链表验证二叉树图的存储)

    (3)综合实验:其主要内容是针对具体问题,应用某几个知识点,自己设计方案,并上机实现,目的是培养学生对数据结构的综合应用能力。 在验证实验中,由实验目的、实验内容、实现提示和实验程序等4部分组成,其中...

    算法导论(part1)

    第1版中采用的是Hoare提出的方法,它现在是作为第7章中的一个思考题出现的。 ·在第11.3.3节中,修改了对通用散列技术(universal hashing)的讨论,将其纳入到关于完美散列的讨论中。 ·在第12.4节中,对随机...

    算法导论(part2)

    第1版中采用的是Hoare提出的方法,它现在是作为第7章中的一个思考题出现的。 ·在第11.3.3节中,修改了对通用散列技术(universal hashing)的讨论,将其纳入到关于完美散列的讨论中。 ·在第12.4节中,对随机...

    传智播客扫地僧视频讲义源码

    20_信息系统框架集成第三方产品案例_几个重要的面向对象思想_传智扫地僧 21_作业 文档和源码 01_上一次课程回顾 02_数组指针语法梳理 03_函数指针语法梳理_传智扫地僧 04_函数指针做函数参数思想剖析_传智扫地僧 05_...

    leetcode股票买卖-Interview:数百道面试题提炼成77道题,按Topics整理

    想一个更简单的问题版本(例如,对数组进行排序,只使用数组中的几个数字,或者使用额外的数组/堆栈/队列不是恒定空间约束)。 想出一个蛮力解决方案,首先大声思考,提到这种方法,面试官问,“这种方法好吗?我...

    最新名企标准通用C++面试题,

    4、有关内存的思考题 void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); } 请问运行Test函数会有...

    algo-learn:学习数据结构与算法的代码示例,目前提供Java,Python,Go三种语言支持

    编程是一门实践的手艺,多多练习,多多思考,把这里的所有算法,数据结构,以及对应的常见leetcode习题都自己的手敲几遍,增强自己的编码基本功,写出高效和精确的代码! 斑点 实现一个动态扩容的数量【 , , 】 ...

    leetcode中国-Algorithm:算法解题思路及总结

    做算法题难度要循序渐进,如果本身有基础,熟练度高,那么做leetcode的简单题型应该是几分钟一题;如果简单的都花费很长时间,说明熟练度不够,更应该从简单的开始,然后过度到中等,再到困难。目前国内大厂的算法...

    IOI国家集训队论文集1999-2019

    + [块状链表](#块状链表) + [动态树](#动态树) + [左偏树](#左偏树) + [跳表](#跳表) + [SBT](#sbt) + [线段树](#线段树) + [单调队列](#单调队列) + [哈希表](#哈希表) + [Splay](#splay) * [图论](#图论...

    二级C语言公共基础知识

    最新二级公共基础知识填空40题+80选择题 (1) 算法的复杂度主要包括______复杂度和空间复杂度。 答:时间 (2) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。 答:模式#逻辑模式#概念模式 (3) 若...

Global site tag (gtag.js) - Google Analytics