面试题13:在O(1)时间删除链表结点
来源:互联网 发布:怎么查看网络是否稳定 编辑:程序博客网 时间:2024/06/07 21:45
转自http://blog.csdn.net/qq1501340219/article/details/54612616?locationNum=14&fps=1
题目描述:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。
题目解析:如果从头到尾遍历找到要删除的节点的前一个节点,将前一个节点的next指针指向删除节点的next,那么时间复杂度是O(n)。所以不能这样做。如果采取是将删除节点的下一个节点的值复制到要删除的节点,然后再将下一个节点删除,那么时间复杂度就是O(1)。如果要删除的节点是最后一个节点,那么我们还是需要遍历链表。所以总时间复杂度应该这么算,[(n-1)*O(1)+O(n)]/n,结果是O(1)。
阅读全文
0 0
- 【剑指Offer学习】【面试题13 :在O(1)时间删除链表结点】
- 【面试题13】在O(1)时间删除链表结点
- 剑指offer 面试题13:在O(1)时间删除链表结点(C++版)
- 剑指offer-面试题 13:在 O( 1)时间删除链表结点
- 剑指offer--面试题13:在O(1)时间删除链表结点
- 剑指Offer学习之面试题13 :在O(1)时间删除链表结点
- 面试题13:在O(1)时间删除链表结点
- 面试题13—在O(1)时间删除链表结点
- 面试题13:在O(1)时间删除单链表结点
- 面试题13:在O(1)时间删除链表结点
- [剑指offer][面试题13]在O(1)时间删除链表结点
- 面试题13 在o(1)时间删除链表的给定结点
- 面试题13:在O(1)时间删除链表结点
- 面试题13-在o(1)时间删除链表结点
- 《剑指Offer》面试题13:在O(1)时间删除链表结点
- 《剑指Offer》学习笔记--面试题13:在O(1)时间删除链表结点
- 剑指offer--面试题13:在O(1)时间删除链表结点--Java实现
- 面试题13:在O(1)的时间删除链表结点
- 用好React,你必须要知道的事情
- HBase性能优化方法总结(三):读表操作
- High Quality with High Performance UE4 Mobile Game
- 《PRML》第一章 读书笔记.1
- JSP:JSP指令元素:page指令,include指令,taglib指令
- 面试题13:在O(1)时间删除链表结点
- CodeForces-545C Woodcutters
- 为什么Nginx的性能要比Apache高?
- 十一、Android设计模式
- JAVA(学习笔记1.2)——事件处理模型
- Python-Bunch模式
- BWT算法 && BZOJ2408:混乱的置换
- Android集成微信支付
- eclipse myeclipse控制台输出消息,切换窗口