链表操作与常见算法题目有哪些?

2026-05-27 14:130阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2434个文字,预计阅读时间需要10分钟。

链表操作与常见算法题目有哪些?

链表的基本操作包括查找、删除、添加。查找、删除、添加。

查找:先定义一个链表的数据结构:javaclass DataNode { int key; int value; DataNode pre; DataNode next;

public DataNode() {}

public DataNode(int key, int value) { this.key=key; this.value=value; }}

链表的基本操作

链表的基础操作有查找、删除、添加。

查找

先定义一下链表的数据结构:

class DataNode{ int key; int value; DataNode pre; DataNode next; public DataNode(){}; public DataNode (int key,int value){ this.key = key; this.value = value; } }

​ 其中的key和value就是节点实际存储的值。pre和next分别指向前一个节点和下一个节点。一般的单向链表只有next,我这里定义的是双向链表。查找操作就是从头节点,一直遍历next,直到找到目标节点为止。可以用while循环或者递归实现,找到目标节点就跳出或返回即可,时间复杂度为O(n)。

删除

以上面的双向链表为例,演示一下删除操作。我们假设有三个节点A、B、C,现要删除B节点。把A.next指向C,C.pre指向A。

阅读全文

本文共计2434个文字,预计阅读时间需要10分钟。

链表操作与常见算法题目有哪些?

链表的基本操作包括查找、删除、添加。查找、删除、添加。

查找:先定义一个链表的数据结构:javaclass DataNode { int key; int value; DataNode pre; DataNode next;

public DataNode() {}

public DataNode(int key, int value) { this.key=key; this.value=value; }}

链表的基本操作

链表的基础操作有查找、删除、添加。

查找

先定义一下链表的数据结构:

class DataNode{ int key; int value; DataNode pre; DataNode next; public DataNode(){}; public DataNode (int key,int value){ this.key = key; this.value = value; } }

​ 其中的key和value就是节点实际存储的值。pre和next分别指向前一个节点和下一个节点。一般的单向链表只有next,我这里定义的是双向链表。查找操作就是从头节点,一直遍历next,直到找到目标节点为止。可以用while循环或者递归实现,找到目标节点就跳出或返回即可,时间复杂度为O(n)。

删除

以上面的双向链表为例,演示一下删除操作。我们假设有三个节点A、B、C,现要删除B节点。把A.next指向C,C.pre指向A。

阅读全文