zz 排序算法 稳定性

摘要: 结论: 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法排序算法的稳定性:若待排序的序列中,存在多个具有相同关键字的记录,经过排序, 这些记录的相对次序保持不变,则称该算法是稳定的;若经排序后,记录的相对 次序发生了改变,则称该算法是不稳定的。 稳定性的好处:排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。另外,如果排序算法稳定,可以避免多余的比较;(1)冒泡排序冒泡排序就是把 阅读全文
posted @ 2011-10-11 11:07 amojry 阅读(370) 评论(0) 推荐(0) 编辑

非递归实现 二叉树 先序、后序、中序遍历

摘要: 想想理所当然的认为容易,身体力行时则有些困难~#include<iostream>#include<stdio.h>#include<string.h>using namespace std;#define MAXSIZE 10000#define SIZE 7int preOder(int *tree){ int root = 1; int stack[MAXSIZE]; int top = 0; stack[top] = root; top++; int tnode = 0; while(top != 0){ top--; tnode = stack[t 阅读全文
posted @ 2011-10-10 16:02 amojry 阅读(322) 评论(0) 推荐(0) 编辑

由树先序遍历和中序遍历输出其后续遍历

摘要: 递归的三个必要条件1. 弄明白递归的顺序。在递归的实现中,需要假设后续的调用已经完成,在此基础上,才实现递归的算法,先考虑后面的逻辑。 2. 分析清楚递归体的逻辑,然后写出来。具体的递归体需要解决什么样的问题。 3. 考虑清楚递归推出的边界条件。在哪些地方写return。//============================================================================ // Name : pm2bTree.cpp // Author : jry // Version : // Copyright : Your copyright not 阅读全文
posted @ 2011-09-29 14:20 amojry 阅读(423) 评论(0) 推荐(0) 编辑

写好一段正确并且完整的二分查找也不容易

摘要: 昨天去有道二面,在一个关键词搜索纠错的设计题后,来了一道程序题。是循环数组的二分查找。当时,因为前面扯的时间较长,而面试时间固定在一个小时到一个小时十五分之间,面试官说大致如此就没让我写全。后来自己回到宿舍写了下,发现竟然还是蛮搞的。尤其是刚开始思路没理清楚去做事情的时候,反反复复,甚是烦人。所以写此篇,以作警示。题目: A是有序数组,B是将A斩断后调换前后顺序的数组(也就是像右循环移动了k个元素)。给出一个元素e,问如何高效的寻找这个e是不是在数组B中。思路:循环数组+二分查找解答过程:1. 循环数组,无非real index和logic index,logic index = (real 阅读全文
posted @ 2011-09-29 12:18 amojry 阅读(549) 评论(0) 推荐(0) 编辑

Interview at TAOBAO

摘要: Interview at TAOBAO this afternoon just lasts for a half hour. SHIT..The guy looks like a group manager, he just ask some quetions which are listed on my CV'.The most stupid thing is that when he ask me weather have developing experience under LINUX, I just said 'Nope'.Maybe I'm not 阅读全文
posted @ 2011-09-13 17:03 amojry 阅读(247) 评论(2) 推荐(0) 编辑

几个搜索算法

摘要: 下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的或是比较生僻的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。Beam Search束 阅读全文
posted @ 2011-06-30 08:39 amojry 阅读(445) 评论(0) 推荐(0) 编辑

GOOGLE API - 翻译, 后台c# 调用前台js代码, asp.net后台调用js代码

摘要: 前段: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht... 阅读全文
posted @ 2011-05-19 16:57 amojry 阅读(685) 评论(0) 推荐(0) 编辑

js 网页调色板

摘要: <OBJECT id=dlgHelper CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px"></OBJECT><script>var tempColor = "FFFFFF";function returnColor(){var Hcolor = dlgHelper.ChooseColorDlg(tempColor).toString(16);with(event.srcEl 阅读全文
posted @ 2011-05-19 10:03 amojry 阅读(1153) 评论(0) 推荐(0) 编辑

关于topic model

摘要: topic model的形成或许说是种偶然, 试想如果你有很多的文档, 可以得到足够让自己自信的tf-idf的数据, 并且你的机器足够的快, 那么用tf-idf我们就已经可以做很多有意义的事情了, 你可以用n多维度的词向量来表示一个文档(n是你词条数目)。topic model的形成, 某种意义上是对tf-idf计算文档相似度时,降维的一种表现,而降维带来了的最大好处,就是无法清除描述的latent samentic space, 于是这个latent samentic space就形成了一个所谓的topic,于是topic model就出来了。Hoffman、 Blei。 LSI -> 阅读全文
posted @ 2011-05-19 10:02 amojry 阅读(519) 评论(0) 推荐(0) 编辑

整数拆分

摘要: memo = []def number_divide(m): global memo; n = m+1 memo.append([]) for i in range(1, n): memo.append([]) memo[i].append(0) for j in range(1, n): memo[i].append(0) memo[i][1] = 1 for i in range(1,n): for j in range(1,n): if i > j: memo[i][j] = memo[i][j-1]+memo[i-j][j] elif i == j: memo[i][j] = m 阅读全文
posted @ 2011-03-31 17:55 amojry 阅读(2010) 评论(0) 推荐(0) 编辑

C# 繁体 简体 转换

摘要: 1. reference 添加 Micorsoft.VisualBasic.2. namespace 添加 using Micorsoft.VisualBasic;3. A. 繁体到简体 Strings.StrConv(s, VbStrConv.SimplifiedChinese, 0);去年夢陳留 今年夢鄧州 幾夢卽了我==》去年梦陈留 今年梦邓州 几梦卽了我 B. 简体到繁体 Strings.StrConv(s, VbStrConv.TraditionalChinese, 0);天涯海角无觅处,漫山红英为谁开==>天涯海角無覓處,漫山紅英為誰開 阅读全文
posted @ 2011-03-10 10:59 amojry 阅读(348) 评论(0) 推荐(1) 编辑

PLSI( probabilistic latent semantic indexing ) 词分类,文档分类

摘要: 磨了我一个星期, 断断续续的看, 断断续续的想。 早上上厕所的时候,终于想通了。或许是对英文理解能力差吧, 发觉其实挺简单的。LSA对于许多搞IR和NLP的来说应该不陌生吧,LSA用SVD降维,然后来根据word distribution,来分类文档而LSA的劣势在于,没有比较好的统计基础,这个和当前流行趋势是不相符的。所以PLSA,用概率模型来做文档分类,或者词聚类。等要求你有个word dictionary.假设为SETWord ={w1,w2,w3..}事前定义好的几个分类,例如: SetTopic = {t1, t2, t3...}最后是一个分类未知的杂合文档集, SetDoc = { 阅读全文
posted @ 2011-03-05 11:50 amojry 阅读(4171) 评论(0) 推荐(0) 编辑

Topic Model

摘要: 转载自 flyer_hit最终编辑 pimpkingTopic modelContent:basic topic model: PLSA, LDAMining multi-faceted overviews of arbitrary topics in a text collectionModeling online reviews with multi-grain topic modelsMultiscale topic tomographyNLPA topic model for word sense disambiguationSyntactic topic modelsIntegrat 阅读全文
posted @ 2011-03-01 11:19 amojry 阅读(2226) 评论(0) 推荐(0) 编辑

vs2010 ASP.NET, C#, Ajax 页面局部更新

摘要: 背景: 网页开发基础为0, 从没做过网站, 要写个网站. ╮(╯▽╰)╭, 一个交互的网页应用程序, 所以局部更新乃必须的. baidu很多信息, google很多信息, 对于学过的当然觉得很简单, 可对于0的人来讲, 最好是一步一步的.目标: 首先撇开其余的不讲, 我们的目的在于让网页有局部更新的功能, 而不是每次都刷新整个页面来更新显示数据. 正题:Step 1:我用的是VS2010, 所以AJAX EXTENSION是自带的. 不需要再下载. 如果没有ajax extension的话先下载个, 点此下载 ASP.NET AJAX 1.0.Step 2:ScrpitManger(脚本管理器 阅读全文
posted @ 2011-02-24 17:35 amojry 阅读(3498) 评论(0) 推荐(0) 编辑

计算机小数表示. 温故知新

摘要: 在一般书写中,小数点是用记号"."来表示的,但在计算机中表示任何信息只能用0或1两种数码,如果计算机中的小数点用数码表示的话,则与二进制数位双不易区分,所以在计算机中小数点就不能够用记号表示,那么在计算机中小数点又如何确定呢?   为了确定小数点的位置,在计算机中,数的表示有两种方法:定点表示法和浮点表示法。 所谓定点与浮点是指一个数的小数点位置是固定的还是浮动的。   (1)定点表示法   所谓定点表示法,是指在计算机中所有数的小数点的位置人为约定固定不变。这样,小数点的位置就不必用记号"."表示出来了。一般地说,小数点可约定固定在任何数位之后,但常用下列两种形式:  ①定点纯小数:约定小数 阅读全文
posted @ 2011-02-19 10:09 amojry 阅读(4846) 评论(0) 推荐(0) 编辑