python单链表类_单链表类在python中的递归实现

博主寻求帮助解决在使用Python的SinglyLinkedList类中,如何通过递归实现链表结构,包括头节点链接剩余元素的思路。文章将涉及递归概念在类中的应用和链表的递归操作技巧。

不久前,我决定学习算法,但我自己做并不容易,所以我正在读古德里奇的《Python中的数据结构和算法》一书,但我还是坚持练习C-7.27Give a recursive implementation of a singly linked list class, such that an instance of a nonempty list stores its first element and a reference to a list of remaining elements. Hint: View the chain of nodes following the head node as themselves forming another list.

我以前用函数做过递归,但在类级别上对我来说有点抽象。

我有这样的基础结构,我不知道如何继续下去。在class SinglyLinkedList:

'''A base class providing a single linked list representation'''

class _Node:

"""non public class for storing a singly linked node"""

__slots__ = '_element', '_next' # streamline memory usage

def __init__(self, element, next_el):

self._element = element

self._next = next_el

def __init__(self):

self._header = self._Node(None, None)

self._header._next = self._header

self._size = 0

def __len__(self):

return self._size

def is_empty(self):

return self._size == 0

据我所知,_Node._next应该携带SinglyLinkedList类,如下所示:

^{pr2}$

但现在要用递归来修饰它,这样我就可以把它想象成一个整体。有人能帮我吗?在

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值