IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    XOR链表

    admin发表于 2013-05-05 14:52:13
    love 0

    今天看到云风的一篇blog,提到了XOR链表,第一次见到,算法非常有意思,记录下。

    大概思想:正常实现双向链表,对于每个node都会保存两个指针pre和next, 但是对于XOR linked list来说,可以只保存一个指针就可以实现,

    保存的就是pre^next的异或值。

    这个数据结构可以工作起来,依赖位运算的一个特性: A^(A^B) == B ,我们知道前序地址或后继地址中的任意一个,都可以用这个值推算出另一个来。这样的链表,从前向后与从后向前遍历的算法是一样的,区别只在于初始参数。

    对于每个链表对象,我们只需要保存链表的head和tail, 就可实现从头和从尾遍历链表。

    这里是Wikipedia对XOR linked list的介绍:http://en.wikipedia.org/wiki/XOR_linked_list

    另外还有一篇论文对lock-free FIFO 的介绍:http://people.csail.mit.edu/edya/publications/OptimisticFIFOQueue-journal.pdf

    最多留言日志

    • 利用War-Ftpd的漏洞深入解析缓冲去溢出
    • 修改wordpress最新评论的显示样式
    • jquery ajax 提交checkbox数组的方法
    • 关于我
    • 程序员眼中的编程语言


沪ICP备19023445号-2号
友情链接