摘要: 两种思路,一种递归的解决T(n) = T(n-2) + O(n);另外一种思路,将后一半的链表原地反转,然后再逐个遍历拼接到前一半的链表上。这种做法能够在O(n)的时间复杂度内完成。 阅读全文
posted @ 2014-04-28 23:01 夏目家的猫咪老师 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 借助堆栈完成迭代形式的后序遍历 阅读全文
posted @ 2014-04-28 21:44 夏目家的猫咪老师 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 借助堆栈完成迭代形式的先序遍历。 阅读全文
posted @ 2014-04-28 21:34 夏目家的猫咪老师 阅读(212) 评论(0) 推荐(0) 编辑
摘要: LRU(Least Recently Used)是经典的页面调度算法,基本思想是将近期刚刚访问的页面放在队尾,最久未被访问的页面放在队头,发生缺页中断时,将队头元素换出,从队尾加入。上述的所有过程都要及时更新,比如访问的页面在内存中,要及时将其放在队尾。频繁地插入与删除操作,使得LRU算法适合用链表实现,为了提高链表的随机访问效率,可以配合map来查找,这样能够将访问(get)与存入(set)操作都在O(log n)的时间复杂度内完成。 阅读全文
posted @ 2014-04-28 15:02 夏目家的猫咪老师 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 链表形式的插入排序实现。 阅读全文
posted @ 2014-04-28 10:06 夏目家的猫咪老师 阅读(164) 评论(0) 推荐(0) 编辑