栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

算法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

算法

文章目录
    • 链表的定义
    • 链表的操作
    • 性能分析

链表的定义

c++中的定义方法:

struct linkNode{
	int val; //节点上存储的元素
	linkNode *next;  //指向下一个节点的指针
	linkNode(int x): val(x),next(NULL){} //节点的构造函数

python中的定义方法:

class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next
链表的操作
  1. 删除节点

    在C++里最好是再手动释放这个D节点,释放这块内存。

    其他语言例如Java、Python,就有自己的内存回收机制,就不用自己手动释放了。

  2. 添加节点

    可以看出链表的增添和删除都是O(1)操作,也不会影响到其他节点。

    但是要注意,要是删除第五个节点,需要从头节点查找到第四个节点通过next指针进行删除操作,查找的时间复杂度是O(n)。

性能分析

链表的特性和数组的特性对比:

数组:长度固定,查询快,增删慢
链表:长度不固定,查询慢,增删快

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459234.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号