算法
文章平均质量分 76
qingyangfeng
这个作者很懒,什么都没留下…
展开
-
0-1背包问题
本文内容转载自0-1背包问题及Python代码实现转载 2018-05-22 09:15:55 · 205 阅读 · 0 评论 -
双链表及python代码实现
引言 双向链表比之单向链表,多数操作方法的实现都没有什么不同,如is_empty, len, traverse, search。这些方法都没有涉及节点的变动,也就可通过继承单向链表来实现即可。 不同之处一是在于节点实现的不同。因为增加了指向前一个节点的前驱区,因此需要为节点添加一个新属性prev,用以指向前一个节点。 另外一点就是在做增删的操作时,需要额外考虑节点的前驱区的指向。其中的r...转载 2018-06-04 16:05:49 · 1453 阅读 · 0 评论 -
单链表的变形与操作及Python代码实现
单链表的实现有一个缺点:尾端加入元素的效率很低,需要从头开始查找,直至找到最后一个节点才能进行插入操作。一种改进这种问题的方法是:在表中增加一个表尾节点引用域,有了这个域,就可以实现O(1)的尾端元素插入。具体如图1所示。 1.1 通过继承和派生来实现单链表的变形 基类为LList类,带有尾节点域的类继承自LList,同时我们需要对一些函数进行修改,具体如下: class LList1...原创 2018-06-01 15:21:19 · 329 阅读 · 0 评论 -
单链表及python代码实现
1 单链表 单链表由两部分组成:元素域与链接域。 元素域保存作为表元素的数据项,链接域保存同一个表里的下一个结点的标识。 单链表有以下特点: 一个单链表由一些具体的表结点组成; 每个结点是一个对象,由自己的标识,也称为该结点的链接; 结点之间通过结点链接建立起单向的顺序链接; 在python中,通常用None值作为单链表中最后一个结点的链接域。 为方便讨论,现在定义一个简...原创 2018-05-25 16:09:12 · 2758 阅读 · 2 评论