2012年6月13日

谈一下最近几次面试的感受

摘要: 大学毕业阴差阳错的来到了一家创业型的单位,经过一年时间的锻炼,对自己的认识更加的清楚,于是希望能跳到一个自己喜欢的更大的一个平台上发展自己。提交了无数简历,但貌似都石沉大海一般,大约有5家回了邮件给我,有两家要我去面试。一家在北京,一家在广州。因为我本身在南京待着,所以两家的面试都是电面。 首先,北京的一家刚开始的在线笔试借用HDU的OJ来考察求职者的算法能力,题目整体不太难,9道题5道简单题,2道贪心,2道动态规划,还好之前大学虽然没有正正经经的参加过ACM比赛,但也接触过很多参加ACM比赛的同学,耳濡目染,自己也玩过较长一段时间,所以在线笔试的结果还可以。加之,离职在家的两个月,我的复习. 阅读全文

posted @ 2012-06-13 08:07 涅槃火凤 阅读(378) 评论(0) 推荐(0) 编辑

2012年5月31日

jQuery是如何工作的?

摘要: 对jQuery以及如果你想要使用jQuery需要知道的一些概念的简单介绍。原文链接: http://docs.jquery.com/Tutorials:How_jQuery_Works作者:John ResigjQuery:基础这是一个基础性的介绍,目的是为了帮助你开始使用jQuery。如果你没有创建一个页面的话,创建一个包含如下内容的一个HTML页面:<!doctype html><html> <head> <meta charset="utf-8"> <title>Demo</title> < 阅读全文

posted @ 2012-05-31 16:55 涅槃火凤 阅读(262) 评论(0) 推荐(0) 编辑

2012年5月29日

关于C++ STL中的priority_queue的使用

摘要: 优先队列是一种比较常用的结构,虽然被称为队列,但却不是队列。这里的队列我猜测是源自于操作系统中的概念。操作系统负责管理计算机的资源并且负责调配,而对cpu计算时间资源的调配是一个比较核心的问题,线程是cpu资源调度的最小单元,通常每一个线程都会绑定一个优先级的,在操作系统复杂的调度机制中,有这么一小块场景中决定哪一个线程使用cpu资源是有优先级决定的,这样操作系统就需要维护一个优先级相关的队列,这里把它命令为队列,我猜想是因为这些线线都在排队等待cpu资源,所以在这个场景里把它叫做队列,而实际上实现起来,它的逻辑结构是一棵树,可以用二叉堆来实现。 priority_queue is a si. 阅读全文

posted @ 2012-05-29 17:48 涅槃火凤 阅读(6951) 评论(0) 推荐(0) 编辑

2012年5月28日

图的深度优先遍历算法

摘要: 更正一下前面一篇博文中的不妥之处:前面一篇博文有非无向图而不可广度优先遍历之嫌。其实广度优先搜索也是可以用在有向图中的,因为无向图是特殊的有向图,而这里广度优先遍历为的是遍历连通图的所有节点,对于有向图来说只要存在一条有向边,那么两个节点就是“连接”的状态,那么遍历就可以缠绕在这条边上。 深度优先遍历,也就是尽量深的遍历图的节点,同样用到了三色标记,用到了递归函数,这里还有一个盖时间戳的操作。当发现某个节点时记录一下时间,当完成一个节点的遍历时记录一下时间,这样依据时间戳,可以发现很多性质和应用。 其实在很多地方广度优先搜索和深度优先搜索代码实现起来都有特点:广度优先搜索使用一个queue来. 阅读全文

posted @ 2012-05-28 16:18 涅槃火凤 阅读(10523) 评论(0) 推荐(0) 编辑

无向连通图的广度优先遍历算法

摘要: 图的广度优先算法是图的基本算法,也是最小生成树以及单源最短路径算法的基础。最近把广度优先遍历算法实现了一下,希望能够有比以前更深的体会或者加强一下对该算法的理解。前些天看了优米网上关于于丹做客在路上的一段视频,有一点心得体会。我很赞同于丹的观点,一个人的见识是十分重要的,所谓见识,从某一方面来理解,那就是要亲历亲为。对于算法这一门数学与编程并重的学科更是如此。 任何一种算法,都需要搞清楚该算法的上下文环境,你需要问自己一些问题,这个算法叫什么名字,解决的是那一类问题,这些问题的重要定义或者条件是什么。其实没有什么万能的方法,但是确实存在能够解决一些特定条件集下的特定问题的算法。这里的广度优先. 阅读全文

posted @ 2012-05-28 14:49 涅槃火凤 阅读(4313) 评论(0) 推荐(0) 编辑

2012年5月24日

设计模式的UML总结

摘要: 简单工厂模式:简单工厂模式里含有继承和关联两种关系,simple factory 关联 A,这里表示的是simple factory里面有一个成员方法返回A类型的实例,所以这里关联的意义和上一篇博文所说的含有该类型的成员变量才叫做关联是不符合的,第一篇博文的定义是一种必要的定义,也就是说作为成员变量的是一种关联,但关联关系不仅限于成员变量。在simple factory这个类里面,根据不同的输入参数,返回不同的A类型的实例(A1, A2, A3),这样做有什么好处有什么坏处就众说纷纭了,关键看你关注什么,业务逻辑关注什么,没有绝对的好和绝对坏,只有相对的适合。策略模式:装饰模式:代理模式:工厂 阅读全文

posted @ 2012-05-24 11:14 涅槃火凤 阅读(5180) 评论(0) 推荐(1) 编辑

2012年5月23日

设计模式学习准备 观UML如观八阵图

摘要: 相传八阵图是诸葛亮创设的一种阵法,变化万端,深不可测,可挡十万精兵。UML虽然没有那么出神入化,但其重要性是毋庸置疑的,特别是作为一种OO的描述语言。而在这里开始的设计模式,我将把UML提升到一个重要的高度,如何判断你是否熟练掌握了设计模式呢?我猜想有两点:给你一种设计模式的UML描述,你能立即认出此为何种设计模式,并且精确理解其适用的场景。观UML,如观代码。给你一个需求,你能分解出对象,以及对象之间的关系,并且挑选出合适的设计模式,并明确其适用的场景。 对于初学者来说,只要达到观设计模式的UML图,如观OO代码就可以了,其他方面的经验都是对业务逻辑的理解,这个就在对象以及UML之外了,看. 阅读全文

posted @ 2012-05-23 21:22 涅槃火凤 阅读(539) 评论(0) 推荐(2) 编辑

2012年5月10日

散列表入门

摘要: 学过编程语言的人,大多知道数组的概念,通过数组下标就可以访问到数组的元素,这里数组的下标是一种key,而此key的位置处存储的是所谓的卫星数据。我们希望能够在O(1)的时间里访问到某个key标识的卫星数据,数组在通常的情况下是一个不二的选择,数组的这种寻址方法学术上叫做直接寻址法,如何称之为“直接”呢?这里的直接指的是,依赖的key和存储的key本质上是一个东西,未经过映射和转换。那么如果key经过映射和转化,那么你已经在做散列了,也就是Hash。 开发寻址法有明显的限制,那就是key必须是整数,而且如果key分布的域较大的时候,安排数组时可能会浪费很大的地址空间。使用Hash能够,通过映射. 阅读全文

posted @ 2012-05-10 10:53 涅槃火凤 阅读(294) 评论(0) 推荐(0) 编辑

2012年5月3日

基数排序

摘要: 基数排序是一种有趣的算法,有一点逆向思维的冲突在里面。下面举一个例子:如果要对5个3位整数进行排序,你会怎么做?我猜想大多数人会这样做(根据我们学习过的的数学中的一些概念惯性): 123 123 123 343 135 135362 241 241241 343 343135 362 362先对高位进行排序,然后对高位相同的,次高位进行排序,一直进行到低位。基数排序进行排序的方向和我们通常思考的方向相反,也就是说从低位开始往高位排序,为什么也能得到正确的结果呢?这里用到了数学里的归纳法,或者说是计算机科学里的递推法,由于这是一个递归的过程,试想对低1位排好序之后,低1位是有序的,接着对第2位进 阅读全文

posted @ 2012-05-03 11:58 涅槃火凤 阅读(207) 评论(0) 推荐(0) 编辑

计数排序

摘要: 计数排序的中间目标和快速排序的中间目标是一致的,都是需要找到一个元素在最终排好序的数组中的位置。快速排序使用了一种优雅的Partition技术,而计数排序如同它的名字描述的一样,进行计数得到最终位置。试想一下如果知道一个元素前面的元素个数,那么也就是知道了该元素在最终数组中的位置了,为了得到元素之前的元素个数,对于计数排序做了如下限定:待排序数组A的大小为n,而A中的元素的值在0-k之间,如果k = O(n)那么这种情况下比较时候使用计数排序。使用一个C[1...k]的数组,用于统计1..k这k个值出现的次数,然后前后相加就可以得到小于等于某一个元素的元素个数了,这个时候需要稍微考虑一下如果存 阅读全文

posted @ 2012-05-03 11:43 涅槃火凤 阅读(198) 评论(0) 推荐(0) 编辑

导航