链表和树数,链表和素数
时间: 2024-03-13 18:39:11 浏览: 25
对于链表和树,它们都是数据结构中的一种。链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。树是一种非线性数据结构,由一系列节点组成,每个节点包含数据和指向子节点的指针。树可以分为二叉树、平衡树、B树等多种类型。
对于链表和素数,素数是指只能被1和自身整除的正整数。判断一个数是否为素数可以使用试除法、埃氏筛法等多种方法。在题目中,给定了一个初始含有n个元素的链表,并要求删除非素数元素。可以遍历链表中的每个元素,判断其是否为素数,如果不是则删除该元素。
代码示例:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
class Node:
def __init__(self, val):
self.val = val
self.next = None
def delete_non_prime(head):
dummy = Node(0)
dummy.next = head
prev, curr = dummy, head
while curr:
if not is_prime(curr.val):
prev.next = curr.next
else:
prev = curr
curr = curr.next
return dummy.next
```