给出建立不带头结点的单链表La的算法,并给出删除该链表中的第i个结点的算法。

2025-01-05 14:11:30
推荐回答(1个)
回答1:

第一总算法
设两个指针p,q
p<-head
repeat
{
q<-p.next
repeat
{
if (p.data=q.data)
else q<-q.next
}until q=nul
p<-p.next
}until (p=null) or (p.next=null)
时间为O(n*n) 空间O(1)
还有一种算法
设一个指针p
数组 hash[1..maxnumber] as type byte
p<-head
repeat
{
if (hash[p.data]=1 ) else
}until p=null
时间为O(n) 空间O(m)