06 2017 档案

摘要:http://www.cppblog.com/Darren/archive/2009/06/09/87224.html priority_queue用法 priority_queue 调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另 阅读全文
posted @ 2017-06-29 20:36 zqlucky 阅读(551) 评论(0) 推荐(0)
摘要:1、 需要记忆的部分: 分治法的基本思想是将一个规模为n 的问题分解为k 个规模较小的子问题,这些子问题互相独立且与原问题相同。递归的解这些子问题,然后将各子问题的解合并得到原问题的解。 对于二叉树问题,首先需要熟练记住二叉树的前序中序遍历的递归版本和迭代版本,后序也可以看一下,记住BFS的实现过程 阅读全文
posted @ 2017-06-17 17:27 zqlucky 阅读(289) 评论(0) 推荐(0)
摘要:1、二分搜索的模板。 算法面试中,如果需要优化O(n)的时间复杂度,那么只能是O(logn)的二分法。 注意二分法大多数情况都是适用于排序数组。自己写二分的时候经常忘记写return -1; http://www.lintcode.com/zh-cn/problem/first-position-o 阅读全文
posted @ 2017-06-10 22:45 zqlucky 阅读(943) 评论(0) 推荐(0)
摘要:1、总结 链表类问题都是in-place,空间复杂度都是O(1)的,在所有的排序算法中,时间复杂度为O(nlogn)的有三个: 1)快速排序(不开辟空间); 2)归并排序(需要开辟O(n)的空间,但是在list问题上不开辟空间); 3)堆排序(首先需要有一个堆)。 while里面写判断条件的时候规律 阅读全文
posted @ 2017-06-05 11:29 zqlucky 阅读(449) 评论(0) 推荐(0)