自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 排序:删除first-name重复的元素

设计一个高效的算法,从一个数组中删除所有的first-name重复的元素。提示:把相等的项放在一起。解:一个暴力的方法是用一个哈希表。对于名字的例子,我们需要一个哈希函数与一个仅用first name的相等函数。我们首先创建哈希表,然后遍历它把元素写入结果数组。时间复杂度为O(n),其中n为元素的个数。哈希表最坏情况的空间复杂度为O(n)。如果我们复用输入数组来存储最终结果,则可以...

2018-07-25 10:07:25 151

原创 根据视差图发布点云

    Mat xyz;    reprojectImageTo3D(disp, xyz, Q, true);    xyz = xyz*16;    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);    cloud->width  = 752;    clo...

2018-06-12 15:44:25 1737

原创 哈希表

构成哈希表的想法是为了在一个数组中根据key来存储对象。哈希表相关问题:1. 测试回文的排列:2. 一个匿名信是否是可以构成的:3. 实现一个ISBN缓存:4. 计算LCA,对临近祖先进行优化:5. 计算k个最频繁的查询:6. 数组中找到最近的重复元素:7. 找到覆盖所有值的最小子数组:8. 找到按顺序覆盖所有值的最小子数组:9. 找到无重复元素的最长子数组:10. 找到最长的包含的区间的长度:1...

2018-06-12 10:17:19 217

原创 原始类型

程序根据它的指令在内存中更新变量。变量都有类型,类型是数据的一个分类,阐明了这个类型的所有可能值,以及可以在它上面执行的操作。原始类型的相关问题:1. 计算一个Word的奇偶性:2. 交换位:3. 反转位:4. 找到相同权重的最近整数:5. 计算x*y,不能用算数操作符:6. 计算x/y:7. 计算x的y次方:8. 反转整数位:9. 检查一个十进制整数是否为回文:10. 生成一致的随机数字:11....

2018-06-12 10:15:18 372

原创 贪心算法与不变量

贪心算法按照各个步骤求解,每个步骤算法都会做出一个局部最优解的决定,并且永远都不会改变那个决定。不变量是在执行程序期间一个为true的条件。不变量可以被用作设计算法,并且推断他们的正确性。例如,二叉树,维持着一个不变量:当算法执行时,候选解空间包含所有可能的解。贪心算法相关问题:1. 计算任务的最优分配:2. 安排一个最小的等待时间:3. 区间覆盖问题:4. 3-sum问题:5. 找到majori...

2018-06-12 10:14:23 365

原创

不正式地说,一个图就是一个定点的集合,并且这些点是由一些边连接而成的。图的相关问题:1. 迷宫中搜索:2. 画一个布尔的矩阵:3. 计算包围的区域:4. 死锁检测:5. 克隆一个图:6. 制造有线的连接:7. 把一个字符串变换到另外一个:8. 团体摄影日2:9. 计算带有最少边的最短路径:...

2018-06-12 10:13:17 112

原创 递归

递归是一种这样的方法,问题的解部分依赖于相关问题的更小的实例。递归相关问题:1. 汉诺塔问题:2. N皇后问题:3. 生成全排列:4. 生成集合的所有子集合:5. 生成所有大小为k的子集合:6. 生成匹配的括号的字符串:7. 生成回文的分解:8. 生成二叉树:9. 实现数独的求解器:10. 计算Gray code:11. 计算树的直径:...

2018-06-12 10:10:49 83

原创 排序

排序即把容器内的元素按照递增或递减的顺序重新排列,是计算机中常见的问题。排序问题:1. 计算两个有序数组的交集2. 合并两个有序数组:3. 删除first-name重复的元素:4. 渲染一个日历:5. 合并区间:6. 计算区间的联合:7. 对一个有很多重复元素的数组进行分割和排序:8. 团队摄影日1:9. 对链表实现快速排序:10. 计算工资阈值:...

2018-06-11 09:08:18 92

原创 搜索

搜索算法可以有很多种分类方式。底层的容器是静态的还是动态的,换句话说,搜索时插入和删除是否是交错进行的?是否值得花费计算量去预处理数据以便加速后续的查询?数据是否有统计的特性可以利用的?我们应该对数据直接操作数据进行变换?我们在此只考虑在有序数组中存储的静态数据。适用于动态更新的数据结构是堆、哈希表、和二叉搜索树的主题。首先探讨的问题是有关二分查找,后面问题属于通用搜索。...

2018-06-11 09:06:50 126

原创 动态规划

DP是一种解决可分解为子问题的优化,搜索和计数问题的通用技术。只要当问题的解是与子问题相关的,我们就应该考虑用DP。与分治法相似,DP通过结合多个小问题的解来解决问题,但是DP的不同在于相同的子问题有可能会重现。因此让DP高效的关键在于缓存中间的计算结果。用DP来求解的问题是常见的高难度面试问题。...

2018-06-10 23:11:13 90

原创 二叉树

二叉树是一种很有用的表示层级关系的数据结构。形式上,一个二叉树要么是空的,要么是一个根节点r带着一个左二叉树和一个右二叉树。子树本身也是二叉树。左边的二叉树被称为根节点的左子树,右边二叉树被称为根节点的右子树。...

2018-06-10 23:07:03 136

原创 字符串

字符串在当今的编程中是无处不在的,脚本,web开发,生物信息学中都有广泛的应用。我们需要知道字符串是如何在内存中表示的,并理解字符串的基本操作,像比较,拷贝,链接,分解,匹配等等。这里我们只讨论可以用基础的方法解决的字符串问题,高级的字符串处理算法经常用到哈希表和动态规划。字符串的基本方法有append("Gauss"), push_back('c'), pop_back(), insert(s....

2018-06-10 17:16:22 149

原创 数组

字符串在当今的编程中是无处不在的,脚本,web开发,生物信息学中都有广泛的应用。我们需要知道字符串是如何在内存中表示的,并理解字符串的基本操作,像比较,拷贝,链接,分解,匹配等等。这里我们只讨论可以用基础的方法解决的字符串问题,高级的字符串处理算法经常用到哈希表和动态规划。字符串的基本方法有append("Gauss"), push_back('c'), pop_back(), insert(s....

2018-06-10 17:11:23 160

原创

堆(也指优先级队列)是一种专门的二叉树。具体地说,它是一个完整的(conplete)二叉树。里面的key必须满足堆的特性,每个节点的key至少要和它的子节点的key一样大。看图11.1(a)中的最大堆的例子。一个最大堆可以由数组来实现,index为i的节点的子节点的index为2i+1和2i+2。代表11.1(a)中最大堆的数组为{561,341,401,28,156,359,271,11,3}。...

2018-06-09 16:31:06 116

原创 链表

单链表是一种数据结构,包含了一个节点序列,每个节点包含一个对象和链表中下一个节点的引用。第一个节点被称为head,最后一个节点被称为tail,tail的下一个节点是null。在双向链表中,每个节点都与它的前驱相连,相似地,一个哨兵节点或者一个自循环可以用来替代null。链表原型代码:template<typename T>struct ListNode {T data;shared...

2018-06-09 14:26:47 369

原创 栈与队列

栈有两个基本的操作,push和pop。元素以后进者先出的顺序被加入(pushed)和被移除(popped)。如果栈是空的,pop操作通常会返回null或者抛出异常。当栈使用链表实现的,这些操作时间复杂度都是O(1)。如果使用数组实现的,元素的数量会有一个最大值,push和pop的时间复杂度还是O(1)。如果数组size是动态的,push和pop平摊开的时间复杂度还是O(1)。栈还有其他的操作比如p...

2018-06-09 14:24:05 122

原创 二叉搜索树

当数组需要保持有序时,添加和删除元素的计算量都是很大的。BST与有序数组相似,里面的值(key)是有序存储的。BST可以搜索某个key、找到最小和最大的元素、找到某个要搜索key(不需要在BST中)的前驱和后继、按顺序列出一定范围内的key。然而,不像有序数组,从BST中添加和删除key是高效的。BST是一种二叉树,里面的节点存储的key是可比较的,例如整型和字符串。存储在节点中的key需要遵...

2018-06-09 10:43:07 97

Google.Android开发入门与实战

里面有很多很实用的案例,例如RSS阅读器,个人移动地图,豆瓣网,在线音乐播放器等

2014-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除