`
kofsky
  • 浏览: 201754 次
  • 性别: 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.找两个链表的第一个公共节点
如果有公共节点,那么该节点后面的节点全部都是两链表公共部分。

分享到:
评论

相关推荐

    算法导论课后习题与思考题答案合集

    该答案合集主要包含了以下几个部分: 1. **修订历史**:记录了答案合集中各个章节的更新和修改历史,以便于读者了解版本的变化情况。 2. **序言**:提供了编写背景、目标读者以及如何使用此答案合集的一些指导性...

    (0012)《数据结构》复习思考题答案分析.docx

    文档中提供了几个关于链表操作的示例,包括链接两个单链表、删除链表中的元素等。 #### 示例解析 - **连接两个单链表**:通过遍历链表找到最后一个节点,并将其`next`指向另一个链表的第一个节点来实现。 - **删除...

    20151910042-刘鹏-DSA思考题-011

    在这个思考题中,我们探讨了几个关键概念,包括数据类型、对象与类、引用数据类型、数组、字符串以及Python和C语言之间的差异。 首先,数据类型是编程语言中定义数据的类别,如整型、浮点型、字符串等。在Python中...

    20151910042-刘鹏-DSA思考题-12 - Dictionary1

    在这个思考题中,主要探讨了几个关键概念,包括有序映射、哈希表、数组表、二分搜索、跳表以及抽象数据类型 Dictionary,以及它们在实际问题中的实现方式。 1. **有序映射**:有序映射是一种数据结构,它维护了一个...

    leetcode-Linked-List-2:链表-2

    链表的反转是一个常见的面试题,它可以测试你对指针操作的掌握程度。反转链表通常有几种方法,包括迭代和递归。迭代方法通常使用三个指针,前一个节点、当前节点和下一个节点;递归方法则是将链表的剩余部分递归反转...

    数据结构(课件、习题答案、上机题答案)

    数据结构的电子课件通常涵盖了以下几个主要章节: 1. 引言:介绍数据结构的基本概念,包括数据、数据元素、数据结构和算法的定义。 2. 线性结构:如数组、链表、栈和队列,它们是最基础的数据结构,用于处理顺序数据...

    20151910042-刘鹏-DSA思考题-07 - iterator and tree1

    5. 实现迭代器通常涉及以下几个步骤: - 定义一个迭代器类,实现`Iterator`接口。 - 在迭代器类中维护指向当前元素的指针或索引。 - 实现`hasNext()`和`next()`方法,确保正确地访问集合中的下一个元素。 - 如果...

    数据结构课程设计习题指导

    实验中包含以下几个关键操作: 1. **初始化链表**:`LinkListini_L`函数用于创建一个带头结点的链表,通过`malloc`动态分配内存,并将`next`指针设置为`NULL`。 2. **插入元素**:`ListInsert_L`函数在链表的第i个...

    C++面试题点播一

    根据给定的文件信息,我们可以提取出以下几个重要的知识点: 1. C++基础知识面试题的分析 在文件中提到的第一个面试题,需要分析一个C++程序,并预测其运行结果。此题涉及到C++的构造函数、虚函数和多态的原理。给...

    数据结构实验

    **思考题**: - 如何选择合适的存储结构(顺序表还是链表)? - 比较不同存储结构下的各种操作的时间复杂度。 --- #### 实验二:线性表的综合应用 **实验目的**: - 进一步理解线性表的应用场景。 - 综合运用...

    PTA1025 反转数组(启发式思路)

    解题思路分为以下几个步骤: 1. **数据存储**:创建一个足够大的结构体数组`Node a[N]`,用于模拟链表节点。每个结构体包含三个字段:`data`存储节点的数据,`address`存储节点的地址,`next`存储指向下一个节点的...

    数据结构习题答案+耿国华主编

    其中提到了几个关键知识点: 1. 数据抽象和信息隐蔽:这是软件工程中的基本原则,旨在通过隐藏实现细节,提供简洁的接口来保护数据和功能的安全。 2. 数据结构的分类:包括集合、线性结构(如数组、链表)、树形...

    微软等数据结构+算法面试100题全部答案

    根据给定文件的信息,我们可以总结出以下几个关键知识点: ### 1. 二元查找树转为排序双向链表 **题目描述**: 本题要求将输入的二元查找树(Binary Search Tree,简称BST)转换成一个排序的双向链表。在转换过程...

    信息学奥赛2022初赛真题

    在准备信息学奥赛的过程中,考生应重视以下几个关键知识点: 1. **基础算法**:如排序(快速排序、归并排序、冒泡排序等)、搜索(二分查找、深度优先搜索、广度优先搜索等)。 2. **数据结构**:包括数组、链表、...

    算法导论(part1)

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

    数据结构1800题及答案_pdf

    在数据结构的学习中,考生需要了解以下几个关键知识点: 1. **数组**:是最基础的数据结构,支持随机访问但插入和删除操作较慢。理解数组的存储原理和应用场合是学习数据结构的基础。 2. **链表**:包括单链表、双...

    数据结构试题

    在C语言中实现数据结构,通常涉及到以下几个关键知识点: 1. **数组**:基础的数据结构,用于存储同类型元素的集合。C语言中的数组允许静态分配,但不支持动态扩展。 2. **链表**:链表是由节点组成的数据结构,每...

    数据结构题库1800题

    在这个题库中,可能涵盖的题目类型包括但不限于以下几个方面: 1. **基础概念**:定义各种数据结构,理解其基本操作和特性。 2. **操作实现**:编写代码实现数据结构的基本操作,如插入、删除、查找等。 3. **...

    中级软件设计师下午试题历年真题+答案解析

    这些下午试题通常包括但不限于以下几个方面的内容: 1. **软件工程**:涵盖软件开发过程、需求分析、设计原则、测试方法、项目管理等。考生需要理解各种软件工程模型(如瀑布模型、敏捷开发等)及其优缺点,并能...

Global site tag (gtag.js) - Google Analytics