单链表的删除算法时间复杂度O(1)和O(n)
来源:互联网 发布:ubuntu 16.04安装lamp 编辑:程序博客网 时间:2024/06/16 19:14
平时我们在计算单链表的第i个节点删除时间复杂度时一般认为是O(n),过程如下
1.先从头节点开始遍历链表,找到第i-1个节点
2.将第i-1节点next指向第i个节点的next
可以看到时间主要花在了遍历链表上
如果我们已经拿到了要删除的第i个节点Node(i),就不需要进行遍历操作和查找前驱节点了,直接拿Node(i+1)来覆盖Node(i)即可。
具体的做法如下:
1.Node(i)->data=Node(i)-next->data;
2.Node(i)-next=Node(i+1)->next;
这样的时间复杂度就是O(1)
阅读全文
0 0
- 单链表的删除算法时间复杂度O(1)和O(n)
- 算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)
- 时间复杂度O(n),空间复杂度O(1)的排序
- 时间复杂度为O(N),空间复杂度为O(1)的排序算法
- 算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)等是什么意思?
- 《数据结构》2.10设计一个算法,删除顺序表中值为item的元素,要求算法的时间复杂度是O(n),空间复杂度是O(1)
- 时间复杂度为O(n)的排序算法--计数算法
- 不用额外空间的整数交换以及时间复杂度为O(n)空间复杂度为O(1)的排序算法
- 排序算法-o(n)时间复杂度
- 快速选择算法(时间复杂度o(n)
- 实现数组元素倒序的算法,写出两种实现,时间复杂度为O(n)和O(n/2)
- 人人都来写算法 之 移除字符串中重复的字符,时间复杂度要求O(n),空间复杂度O(1)
- 时间复杂度为O(n)的排序算法
- 时间复杂度最快的排序算法 O(n) JAVA代码
- 面试9:时间复杂度为O(n)的排序算法
- O(N)时间复杂度的排序算法-计数排序
- 平均时间复杂度为O(n)的选择算法
- 基于时间复杂度为O(n)的排序算法
- Java 编程思想--注解(二)
- 求职简历中一些常见的问题
- caffe-关于损失的问题
- 曾国藩的一生
- POJ 1251 Jungle Roads 笔记
- 单链表的删除算法时间复杂度O(1)和O(n)
- LINUX中常用操作命令
- web前端笔试题——JS
- POJ 1155 TELE 树形dp
- 【Redis笔记-8】Redis事务及其Java实现
- java文件分割
- JavaScript 模板引擎实现原理解析
- 接下来几天待完成事情(生活小总结)
- 多图片上传,多文件上传。插件diyUpload.js