美文网首页
链表相关问题整理

链表相关问题整理

作者: AKyS佐毅 | 来源:发表于2020-01-04 14:18 被阅读0次

1、比较顺序表和链表的优缺点, 说说它们分别再什么场景下使用?

顺序表存储(典型的数组)

  • 原理:顺序表存储是将数据元素放到一块连续的内存存储空间,相邻数据元素的存放地址也相邻(逻辑与物理统一)。

链表存储

  • 原理:链表存储是在程序运行过程中动态的分配空间,只要存储器还有空间,就不会发生存储溢出问题,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点关系间的指针。

优缺点比较:

  • 1、顺序表支持随机访问,单链表不支持随机访问;
  • 2、顺序表的插入/删除效率低,时间复杂度为O(N)(除尾插尾删),单链表的插入/删除效率高,时间复杂度为O(1);
  • 3、顺序表的CPU高效缓存效率更高,单链表的CPU高效缓存效率低。

2、从尾到头打印单链表(逆序)

如何将链表逆序,取决于题目的要求。如果面试官只要求打印,一般不改动链表结构为好,如果要求改变链表的方向,则需要改变结构,再顺序打印。

  • 方法1:只逆序打印,不改变结构。采用递归,到达尾结点时打印输出,否则进入下一个结点的递归,当递归一层层退出的时候,便可以实现从尾到头的打印。
  • 方法2:头插法,改变结构。从第二个结点开始往后,依次把每个结点移至链表头部,要注意最后链表不要是断裂的。
  • 方法3:改变指针方向。从头结点开始,依次把结点的next指针断开指向该结点的前结点。要注意保存好,前结点、当前结点和下一个结点。
  • 方法4:只逆序打印,不改变结构。利用栈的后进先出来实现逆序。
image.png

相关文章

  • 链表相关问题整理

    1、比较顺序表和链表的优缺点, 说说它们分别再什么场景下使用? 顺序表存储(典型的数组) 原理:顺序表存储是将数据...

  • 1.数据结构-链表问题

    链表相关问题 删除节点 链表去重 有环链表 反转链表 链表排序 链表相交 其他问题 面试题 02.03. 删除中间...

  • 链表相关问题

    203.删除链表中等于给定值 val 的所有节点。 示例: 输入: 1->2->6->3->4->5->6, va...

  • 相关问题整理

    集合类以及集合框架 参考 http://blog.csdn.net/u014136713/article/deta...

  • Java常用类库与技巧-集合

    一 数据结构常见问题 数组和链表的区别;链表的操作,如反转,链表环路检测,双向链表,循环链表相关操作;队列,栈的应...

  • 链表的环相关问题

    题目 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明: 不允许修改给定的链表。...

  • 面试必看算法题|链表问题总结

    前言 链表的相关问题,在面试中出现频率较高,这些问题往往也是解决其他复杂问题的基础;在这篇文章里,我将梳理链表问题...

  • Handler相关问题整理

    1、消息机制Hander作用?有哪些要素?流程是怎样的? 作用:跨线程通信。当子线程中进行耗时操作后需要更新UI时...

  • Java相关问题整理

    1. OkHttpClient调用出现大量CLOSE_WAIT。 问题定位: 凡是系统中出现大量的CLOSE_WA...

  • 算法面试题 | 链表问题总结

    前言 链表的相关问题,在面试中出现频率较高,这些问题往往也是解决其他复杂问题的基础; 在这篇文章里,我将梳理链表问...

网友评论

      本文标题:链表相关问题整理

      本文链接:https://www.haomeiwen.com/subject/kgdhvctx.html