
数据结构之线性表
文章平均质量分 72
王小文Ben
这个作者很懒,什么都没留下…
展开
-
单链表的定义和基本操作
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O⑴。 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 但是链表失去了数组随机读取原创 2014-01-21 23:48:23 · 7408 阅读 · 0 评论 -
三个单链表交集(O(m+n+p))
题目: 已知三个带头结点的线性链表A、B和C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点)。 编写算法对A表进行如下操作: 使操作后的链表A中仅留下三个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O(m+n+p),其中m、n和p分别为三个表的长度。 看代码:由于我将方法都封装到了类里面,所以第一个链表的头结点就在类原创 2014-01-22 23:38:14 · 2996 阅读 · 0 评论