双向链表:
就是有双向指针 即 双向的链域
链结点的结构:
┌────┬────┬────────┐
│data│next│previous│
└────┴────┴────────┘
双向链表不必是双端链表(持有对最后一个链结点的引用),双端链表插入时是双向的
有两条链:一条从头到尾,一条从尾到头,删除遍历时也是双向的
/**
* 双向链表
*
* @author s...
分类:
编程语言 时间:
2014-10-26 01:41:27
阅读次数:
255
双端链表:
双端链表与传统链表非常相似.只是新增了一个属性-即对最后一个链结点的引用rear
这样在链尾插入会变得非常容易,只需改变rear的next为新增的结点即可,而不需要循环搜索到最后一个节点
所以有insertFirst、insertLast
删除链头时,只需要改变引用指向即可;删除链尾时,需要将倒数第二个结点的next置空,
而没有一个引用是指向它的,所以还是需要循环来读取操作...
分类:
编程语言 时间:
2014-10-24 16:38:29
阅读次数:
242
单链表双端链表有序链表双向链表头插O(1)O(1)头删O(1)O(1)尾插O(1)O(1)尾删O(N)O(1)插入MaxO(N)|MinO(N/2)删除O(1)查找结点O(N)次比较无移动次数删除结点O(N)次比较无移动次数O(N)–deleteKey(inti)指定结点后插入O(N)次比较无移动次...
分类:
其他好文 时间:
2014-09-30 15:06:19
阅读次数:
264
1.一种并行计算的多线程编程模型2.开始--任务分割--多线程异步执行---任务合并--阻塞等待合并结果。(分治算法)3.work-stealing算法:
每个线程维护一个各自的双端的链表,有新任务时之间插入的前端优先执行,前端无任务时,窃取其他线程双端链表的任务加入到自己的尾端进行处理。 通常.....
分类:
其他好文 时间:
2014-06-08 21:28:47
阅读次数:
357