<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Milo的游戏开发_分类_数据结构和算法</title><id>http://feed.cnblogs.com/blog/u/66551/category/241654/rss</id><updated>2012-06-05T02:38:27Z</updated><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/miloyip/category/241654.html"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/66551/category/241654/rss"/><entry><id>http://www.cnblogs.com/miloyip/archive/2010/09/03/idalloc_solution.html</id><title type="text">手机分配短讯id的面试题目(分析解答篇)</title><summary type="text">看过上回《厘清需求篇》，读者想到多少个解呢？本篇首先谈及一些基本分析，之后会按两种API设计(纯函数API和含状态的API)，分别描述多个解。虽然面试时或许不能进行实际测试，但本文还是给出PC上的效能测试结果。最后分析比较各解之优劣作为总结。 问题分析原来的问题是要从一个无序ids数组里分配一个id。我们可以用数学方式去更清楚地说明这个问题。设m = 256 为所有id的个数，集合U = \lef...</summary><published>2010-09-02T17:37:00Z</published><updated>2010-09-02T17:37:00Z</updated><author><name>Milo Yip</name><uri>http://www.cnblogs.com/miloyip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/miloyip/archive/2010/09/03/idalloc_solution.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/miloyip/archive/2010/09/03/idalloc_solution.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/miloyip/archive/2010/08/31/idalloc_clarify.html</id><title type="text">手机分配短讯id的面试题目(厘清需求篇)</title><summary type="text">前阵子，笔者在TopLanguage论坛里参与讨论了一个不错的面试题目，在此和大家分享，也当作个人的讨论总结。本文列出该问题，并模拟应试者向面试官的对话，以厘清问题需求。题目原文事缘Dbger发起的帖子中，liuxinyu举了一个面试题目，原文如下:有个老的手机短信程序，由于当时的手机CPU，内存都很烂。所以这个短信程序只能记住256条短信，多了就删了。 每个短信有个唯一的ID，在0到255之间。...</summary><published>2010-08-30T17:42:00Z</published><updated>2010-08-30T17:42:00Z</updated><author><name>Milo Yip</name><uri>http://www.cnblogs.com/miloyip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/miloyip/archive/2010/08/31/idalloc_clarify.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/miloyip/archive/2010/08/31/idalloc_clarify.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/miloyip/archive/2010/05/27/reply_discrete.html</id><title type="text">回应CSDN肖舸《做程序，要“专注”和“客观”》，实验比较各离散采样算法</title><summary type="text">自从肖舸在其CSDN博客上说“拒绝回答博客园等网站网友的问题”，实质上不单是拒绝回答，而且还删去包括一些网友及本人对于纯粹技术探讨的评论。当然每位博主都有自由这么做，但个人认为这对于社区的交流发展有负面影响。为了探讨这个技术问题，本人唯有把回应发表于博客园内。本文会阐述之前的论点，评论肖舸的实现，并进行了兩个实验比较不同算法、实现的优劣之处。 之前的“交流&amp;rd...</summary><published>2010-05-27T15:57:00Z</published><updated>2010-05-27T15:57:00Z</updated><author><name>Milo Yip</name><uri>http://www.cnblogs.com/miloyip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/miloyip/archive/2010/05/27/reply_discrete.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/miloyip/archive/2010/05/27/reply_discrete.html"/><content type="text">自从肖舸在其CSDN博客上说“拒绝回答博客园等网站网友的问题”，实质上不单是拒绝回答，而且还删去包括一些网友及本人对于纯粹技术探讨的评论。当然每位博主都有自由这么做，但个人认为这对于社区的交流发展有负面影响。为了探讨这个技术问题，本人唯有把回应发表于博客园内。本文会阐述之前的论点，评论肖舸的实现，并进行了兩个实验比较不同算法、实现的优劣之处。 之前的“交流&amp;rd...</content></entry><entry><id>http://www.cnblogs.com/miloyip/archive/2010/05/12/binary_tree_traversal.html</id><title type="text">《编程之美：分层遍历二叉树》的另外两个实现</title><summary type="text">之前重温本书写书评时，也尝试找寻更好的编程解法。今天把另一个问题的实现和大家分享。问题定义给定一棵二叉树，要求按分层遍历该二叉树，即从上到下按层次访问该二叉树(每一层将单独输出一行)，每一层要求访问的顺序为从左到右，并将节点依次编号。下面是一个例子: 输出:节点的定义:书上的解法书上举出两个解法。第一个解法是用递归方式，搜寻并打印某一层的节点，再打印下一层的节点。这方法简单但时间效率不高(但不需要...</summary><published>2010-05-11T16:10:00Z</published><updated>2010-05-11T16:10:00Z</updated><author><name>Milo Yip</name><uri>http://www.cnblogs.com/miloyip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/miloyip/archive/2010/05/12/binary_tree_traversal.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/miloyip/archive/2010/05/12/binary_tree_traversal.html"/><content type="text">之前重温本书写书评时，也尝试找寻更好的编程解法。今天把另一个问题的实现和大家分享。问题定义给定一棵二叉树，要求按分层遍历该二叉树，即从上到下按层次访问该二叉树(每一层将单独输出一行)，每一层要求访问的顺序为从左到右，并将节点依次编号。下面是一个例子: 输出:节点的定义:书上的解法书上举出两个解法。第一个解法是用递归方式，搜寻并打印某一层的节点，再打印下一层的节点。这方法简单但时间效率不高(但不需要...</content></entry><entry><id>http://www.cnblogs.com/miloyip/archive/2010/03/04/1677902.html</id><title type="text">两条像面试用的编程问题，和我的囧事</title><summary type="text">昨天meta网友在某论坛写了两条编程题目:设计一个函数f, 使得它满足：f(f(x))=-x，这里输入参数为32位整型设计一个函数g, 满足：g(g(x))=1/x, x是浮点数以下是一些反面的解答，可澄清这两条个题目:meta提供了同事的解答，但该解答用了static local variable来區分办调用次数。这函数有副作用，且不是thread-safe。因此这不是好答案。Sweating和...</summary><published>2010-03-03T16:57:00Z</published><updated>2010-03-03T16:57:00Z</updated><author><name>Milo Yip</name><uri>http://www.cnblogs.com/miloyip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/miloyip/archive/2010/03/04/1677902.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/miloyip/archive/2010/03/04/1677902.html"/><content type="text">昨天meta网友在某论坛写了两条编程题目:设计一个函数f, 使得它满足：f(f(x))=-x，这里输入参数为32位整型设计一个函数g, 满足：g(g(x))=1/x, x是浮点数以下是一些反面的解答，可澄清这两条个题目:meta提供了同事的解答，但该解答用了static local variable来區分办调用次数。这函数有副作用，且不是thread-safe。因此这不是好答案。Sweating和...</content></entry><entry><id>http://www.cnblogs.com/miloyip/archive/2010/02/25/binary_tree_distance.html</id><title type="text">《编程之美: 求二叉树中节点的最大距离》的另一个解法</title><summary type="text">昨天花了一个晚上为《编程之美》，在豆瓣写了一篇书评《迟来的书评和感想──给喜爱编程的朋友》。书评就不转载到这里了，但在这里可以介绍书里其中一条问题的另一个解法。我觉得这个解法比较简短易读及降低了空间复杂度，或者可以说我觉得比较「美」吧。问题定义: 如果我们把二叉树看成一个图，父子节点之间的连线看成是双向的，我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。</summary><published>2010-02-24T19:32:00Z</published><updated>2010-02-24T19:32:00Z</updated><author><name>Milo Yip</name><uri>http://www.cnblogs.com/miloyip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/miloyip/archive/2010/02/25/binary_tree_distance.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/miloyip/archive/2010/02/25/binary_tree_distance.html"/><content type="text">昨天花了一个晚上为《编程之美》，在豆瓣写了一篇书评《迟来的书评和感想──给喜爱编程的朋友》。书评就不转载到这里了，但在这里可以介绍书里其中一条问题的另一个解法。我觉得这个解法比较简短易读及降低了空间复杂度，或者可以说我觉得比较「美」吧。问题定义: 如果我们把二叉树看成一个图，父子节点之间的连线看成是双向的，我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。</content></entry></feed>
