自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

一步一步写算法(之图创建)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们讨论过图的基本结构是什么样的。它可以是矩阵类型的、数组类型的,当然也可以使指针类型的。当然,就我个人而言,比较习惯使用的结构还是链表指针类型的。本质上,一幅图就是由很多节点构成的,每一个节点上面有很多的分支,仅此而已。为此,我们又对原来的结构做了小的改变:typedef ...

2011-10-31 21:30:00 198

DIV在FF下的拖动

我想问一下,我的这段拖动div的代码什么地方有问题啊,在ie里面正常,在ff下就是停下再拖就不行了,但如果在div中加入文本就可以了,为什么会这样啊?请各位高手指教.<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://w...

2011-10-31 13:23:35 71

Servlet API 中文版

基本类和接口 一、javax.servlet.Servlet接口 servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。 Servlet接口的基本目标是提供生命期方法init()、service()和destroy()方法。 servlet接口中的方法       void init(ServletConfi...

2011-10-31 13:23:06 97

Android类动态加载技术

Android应用开发在一般情况下,常规的开发方式和代码架构就能满足我们的普通需求。但是有些特殊问题,常常引发我们进一步的沉思。我们从沉思中产生顿悟,从而产生新的技术形式。如何开发一个可以自定义控件的Android应用?就像eclipse一样,可以动态加载插件;如何让Android应用执行服务器上的不可预知的代码?如何对Android应用加密,而只在执行时自解密,从而防止被破解?……熟悉J...

2011-10-31 13:20:02 180

一步一步写算法(之图结构)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 图是数据结构里面的重要一章。通过图,我们可以判断两个点之间是不是具有连通性;通过图,我们还可以计算两个点之间的最小距离是多少;通过图,我们还可以根据不同的要求,寻找不同的合适路径。当然,有的时候为了计算的需要,我们还需要从图中抽象出最小生成树,这样在遍历计算的时候就不需要持续判断是不是...

2011-10-30 15:33:00 98

一步一步写算法(之“数星星”)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 学过编程的朋友都知道,当初为了学习编程语言中的各种语法结构,我们要试着解决各种各样奇怪的题目。其中“数星星”就似乎其中的一种。什么是“数星星”呢?就是打印各种形状的“*”,正三角、倒三角、菱形等等。本篇博客纯粹为了纪念我们逝去的岁月。 a)正三角void star_1(){...

2011-10-29 22:00:00 200

一步一步写算法(之字符串查找 下篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们谈到了KMP算法,但是讲的还不是很详细。今天我们可以把这个问题讲的稍微详细一点。假设在字符串A中寻找字符串B,其中字符串B的长度为n,字符串A的长度远大于n,在此我们先忽略。 假设现在开始在字符串A中查找,并且假设双方在第p个字符的时候发现查找出错了,也就是下面的情况:...

2011-10-28 21:40:00 61

一步一步写算法(之字符串查找 中篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 昨天我们编写了简单的字符查找函数。虽然比较简单,但是也算能用。然而,经过我们仔细分析研究一下,这么一个简单的函数还是有改进的空间的。在什么地方改进呢?大家可以慢慢往下看。 下面的代码是优化前的代码,现在再贴一次,这样分析起来也方便些:char* strstr(const ch...

2011-10-27 19:33:00 69

DreamMail无法登录Gmail的SMTP发送邮件的解决办法

首先先确保你的配置是正确的:https://mail.google.com/support/bin/answer.py?hl=zh-Hans&answer=13287其实,你要知道,邪恶的墙经常将smtp.google.com屏蔽了。所以你需要配置你的DreamMail,使其使用国外的代理。建议使用SSH 隧道转发功能来。安装下面的软件,找一个国外的SSH账号,然后开通软件...

2011-10-27 10:23:00 6446

一步一步写算法(之字符串查找 上篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 字符串运算是我们开发软件的基本功,其中比较常用的功能有字符串长度的求解、字符串的比较、字符串的拷贝、字符串的upper等等。另外一个经常使用但是却被我们忽视的功能就是字符串的查找。word里面有字符串查找、notepad里面有字符串查找、winxp里面也有系统自带的字符串的查找,所以编写...

2011-10-26 20:55:00 60

一步一步写算法(之链表排序)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 相比较线性表的排序而言,链表排序的内容稍微麻烦一点。一方面,你要考虑数据插入的步骤;另外一方面你也要对指针有所顾虑。要是有一步的内容错了,那么操作系统会马上给你弹出一个exception。就链表的特殊性而言,适合于链表的排序有哪些呢? (1)插入排序 (适合) (2)冒泡排序 ...

2011-10-25 21:09:00 540

一步一步写算法(之哈希二叉树)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 用过平衡二叉树的朋友都清楚,平衡二叉树的最大优点就是排序。不管是在数据插入的时候还是在数据删除的时候,我们都要考虑到数据的排序情况。但是和数据的添加、删除一样重要的,还有数据的查询。很不幸,平衡二叉树经常由于节点的添加和删除,数据的查询效率会变得非常低下。朋友们可以看看下面这样的一个极端...

2011-10-24 19:45:00 72

一步一步写算法(之二叉树深度遍历)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 深度遍历是软件开发中经常遇到的遍历方法。常用的遍历方法主要有下面三种:(1)前序遍历;(2)中序遍历;(3)后序遍历。按照递归的方法,这三种遍历的方法其实都不困难,前序遍历就是根-左-右,中序遍历就是左-根-右,后续遍历就是左-右-根。代码实现起来也不复杂。 1)前序遍历vo...

2011-10-23 09:15:00 70

一步一步写算法(之二叉树广度遍历)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在二叉树的遍历当中,有一种遍历方法是不常见的,那就是广度遍历。和其他三种遍历方法不同,二叉树的广度遍历需要额外的数据结构来帮助一下?什么数据结构呢?那就是队列。因为队列具有先进先出的特点,这个特点要求我们在遍历新的一层数据之前,必须对上一次的数据全部遍历结束。暂时还没有掌握队列知识的朋友...

2011-10-22 20:51:00 117

一步一步写算法(之寻路)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 寻路是游戏设计中需要使用到一种功能,那么我们怎么样以一个点作为起始点,快速地寻找到目标点呢?其实寻路的方法不难。一种简单有效的方法就是回溯法。如果我们从一个点出发,那么这个点周围肯定有若干条路,只要有一条路存在,我们就一直走下去,直到发现没有路走为止;要是发现路走不下去了怎么办,那就...

2011-10-21 20:38:00 167

163 的 Ubuntu 全系列源(比如11.04),官网

http://mirrors.163.com/.help/ubuntu.html下载指定版本的 sources.list.VERSION_NAME 到 /etc/apt/ 之后 (sudo wget ....),对原来的 sources.list 重命名备份, 然后把下载来的文件重命名成sources.list 就可以了。别忘了做完之后,用sudo apt-get update 一下。...

2011-10-21 14:43:00 81

一步一步写算法(之排序二叉树的保存和加载)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 排序二叉树是我们开发中经常使用到的一种数据结构,它具有较好的插入、删除、查找特性。但是由于二叉树的指针较多,所以相比较其他的数据结构而言,二叉树来得比较麻烦些。但是也不是没有办法,下面介绍一下我个人常用的方法。 我们知道,如果一个二叉树是一个满树的话,那么二叉树的节点应该是按照1、2、3...

2011-10-20 23:27:00 52

一步一步写算法(之排序二叉树线索化)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们谈到了排序二叉树,还没有熟悉的同学可以看一下这个,二叉树基本操作、二叉树插入、二叉树删除1、删除2、删除3。但是排序二叉树也不是没有缺点,比如说,如果我们想在排序二叉树中删除一段数据的节点怎么办呢?按照现在的结构,我们只能一个一个数据查找验证,首先看看在不在排序二叉树中,如果在那...

2011-10-19 22:56:00 64

WPF使用Binding对数据的校验

我们通常都会设置对输入的数值进行校验,在WPF也一样,在本示例中,我们使用两个控件,分别是TextBox1和Slider1,通过文本控件,输入符合slider的值,如果值不在此范围则显示文本框为红色,反映输入值不正确,控件不会因此改变。1、XAML代码<StackPanel> <TextBox x:Name="TextBox1" Margin="5"/&g...

2011-10-19 09:19:00 376

一步一步写算法(之hash表)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 hash表,有时候也被称为散列表。个人认为,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,但是数据查找十分麻烦;二叉树中的数据严格有序,但是这是以多一个指针作为代价的结果。hash表既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分方便。 打个比方来说,...

2011-10-18 18:43:00 309

WPF利用通过父控件属性来获得绑定数据源RelativeSource

有时候我们不确定作为数据源的对象叫什么名字,但知道作为绑定源与UI布局有相对的关系,如下是一段XAML代码,说明多层布局控件中放置一个文本控件,来显示父级控件的名称。1、XAML <Grid x:Name="g1" Background="Red" Margin="10"> <DockPanel x:Name="d1" Background="Ora

2011-10-18 09:12:00 215

WPF使用 ObjectDataProvider 为方法作为绑定数据源

我们很难保证所有的业务类都是为WPF项目准备的,因此不是所有的绑定都是用类的属性值,有可能是利用方法的返回值来获得绑定数据。在不重新设计底层类的情况下,使用ObjectDataProvider 来实现方法作为数据绑定源。先写一个类的加法方法,然后利用ObjectDataProvider进行绑定和处理。1、加法类和方法 class Calculator { //加...

2011-10-18 08:41:00 244

一步一步写算法(之挑选最大的n个数)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 从一堆数据中挑选n个最大的数,这个问题是网上流传的比较广的几个问题之一。具体来说,它的意思就是:假设我们有100个数据,我们需要挑选出最大的n个数据(n < 100),那么有没有办法实现这样一个目标呢?在这里,我想从排序的角度看看有没有什么办法可以实现这样一个目标。 在前面的博...

2011-10-17 21:47:00 241

WPF 使用LINQ 检索结果作为Binding源

通过LINQ我们可以方便的操作集合对象、DataTable对象而不必动辄就把好几层foreach循环嵌套在一起只是为了完成一个很简单的任务。集合类class Student { public int Id { get; set; } public string Name { get; set; } public int Age {...

2011-10-17 15:03:00 123

WPF 使用DataContext 作为 Binding的源

class Student { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } }Xaml中进行绑定<Window x:Class="Wpf基础学习.MainWindow" ...

2011-10-17 10:11:00 103

一步一步写算法(之八皇后)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 八皇后是一道很具典型性的题目。它的基本要求是这样的:在一个8*8的矩阵上面放置8个物体,一个矩阵点只允许放置一个物体,任意两个点不能在一行上,也不能在一列上,不能在一条左斜线上,当然也不能在一条右斜线上。 初看到这道题目,大家的第一印象是遍历,但是经过实践之后发现遍历其实不好写,而且...

2011-10-16 16:14:00 65

一步一步写算法(之数据选择)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在数学中,有一些数据选择的内容。举个例子来说,有这样一组数据:1、2、3、4。现在我们打算从中挑选出1个数据,那么有几种选择呢?结果应该是1、2、3、4;那么如果挑选2个数据呢,怎么选呢?那么结果应该是12、13、14、15。以此类推,我们还能挑选出3个数据、4个数据的情况。 那么,在程...

2011-10-16 11:10:00 173

一步一步写算法(之基数排序)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 基数排序是另外一种比较有特色的排序方式,它是怎么排序的呢?我们可以按照下面的一组数字做出说明:12、 104、 13、 7、 9 (1)按个位数排序是12、13、104、7、9 (2)再根据十位排序104、7、9、12、13 (3)再根据百位排序7、9、12、13、104...

2011-10-15 21:32:00 326

一步一步写算法(之选择排序)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 选择排序是和冒泡排序差不多的一种排序。和冒泡排序交换相连数据不一样的是,选择排序只有在确定了最小的数据之后,才会发生交换。怎么交换呢?我们可以以下面一组数据作为测试: 2, 1, 5, 4, 9 第一次排序:1, 2, 5, 4, 9 第二次排序: 1, 2, 5, 4, 9...

2011-10-14 21:14:00 59

一步一步写算法(之单词统计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在面试环节中,有一道题目也是考官们中意的一道题目:如果统计一段由字符和和空格组成的字符串中有多少个单词? 其实,之所以问这个题目,考官的目的就是想了解一下你对状态机了解多少。 (1) 题目分析 从题目上看,如果对一个字符串进行处理,那么可以有下面几种情形:初始状态,字符状...

2011-10-13 20:37:00 62

一步一步写算法(之爬楼梯)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前两天上网的时候看到一个特别有意思的题目,在这里和朋友们分享一下: 有一个人准备开始爬楼梯,假设楼梯有n个,这个人只允许一次爬一个楼梯或者一次爬两个楼梯,请问有多少种爬法? 在揭晓答案之前,朋友们可以自己先考虑一下: 这个人爬n层楼梯,那么它也不是一下子就可以爬这么高的,他只...

2011-10-13 19:56:00 126

一步一步写算法(之排序二叉树删除-3)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 3 普通节点的删除 3.1 删除的节点没有左子树,也没有右子树 测试用例1: 删除节点6/** * 10 ======> 10* / \ ...

2011-10-12 23:12:00 38

一步一步写算法(之排序二叉树删除-2)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 2.4 删除节点的左右子树都存在,此时又会分成两种情形 1)左节点是当前左子树的最大节点,此时只需要用左节点代替根节点即可/** * 10 ======> 6* / \ ...

2011-10-12 22:02:00 64

一步一步写算法(之排序二叉树删除-1)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 相比较节点的添加,平衡二叉树的删除要复杂一些。因为在删除的过程中,你要考虑到不同的情况,针对每一种不同的情况,你要有针对性的反应和调整。所以在代码编写的过程中,我们可以一边写代码,一边写测试用例。编写测试用例不光可以验证我们编写的代码是否正确,还能不断提高我们开发代码的自信心。这样,...

2011-10-12 21:19:00 95

一步一步写算法(之排序二叉树插入)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 二叉树的节点插入比较简单。一般来说,二叉树的插入主要分为以下两个步骤: 1) 对当前的参数进行判断,因为需要考虑到头结点,所以我们使用了指针的指针作为函数的输入参数 2) 分情况讨论: 如果原来二叉树连根节点都没有,那么这个新插入的数据就是根节点; 如果原来的二叉...

2011-10-11 20:48:00 134

一步一步写算法(之排序二叉树)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们讲过双向链表的数据结构。每一个循环节点有两个指针,一个指向前面一个节点,一个指向后继节点,这样所有的节点像一颗颗珍珠一样被一根线穿在了一起。然而今天我们讨论的数据结构却有一点不同,它有三个节点。它是这样定义的:typedef struct _TREE_NODE{ in...

2011-10-10 21:26:00 55

一步一步写算法(之洗牌算法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 扑克牌洗牌是我们生活中比较喜欢玩的一个游戏。那么我们有没有什么办法自己设计一个扑克牌洗牌的方法呢?在c运行库当中有一个随机函数rand,它可以生成0~32767之间的任意数。那么有没有可能利用这么一个函数对我们扑克牌进行随即洗牌呢? 在这里我抛砖引玉一下,谈一谈自己目前已经看到的...

2011-10-10 19:59:00 86

一步一步写算法(之n!中末尾零的个数统计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在很多面试的题目中,求n!结果中零的个数也是经常遇到的一道题目。那么这道题目的解决方法究竟是什么呢?我愿意在此和大家分享一下我自己的一些看法,有不同见解的朋友欢迎多提意见。 求n!中零的个数主要在于乘数中有没有能被2和5整除的数,只要能找到被2和5整数的乘数即可,所以,我的代码流程是...

2011-10-09 20:54:00 85

一步一步写算法(之大数计算)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 我们知道在x86的32位cpu上面,int表示32位,如果核算成整数的话,大约是40多亿。同样,如果在64位cpu上面,能表示的最大整数就是64位二进制,表示的数值要大得多。那么在32位如果想表示大整数怎么办呢?那只能靠我们自己想办法了。 首先我们回顾一下我们手算整数的加减、乘除法是...

2011-10-09 19:51:00 47

一步一步写算法(之链表逆转)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 链表逆转是面试环境中经常遇到的一道题目,也是我们在实际开发中可能会遇到的开发需求。和线性逆转不一样,单向链表的节点需要一个一个进行处理。为了显示两者之间的区别,我们分别对线性内存和链表进行逆转: (1)普通连续内存数据的反转分析STATUS normal_revert(int...

2011-10-08 20:58:00 67

空空如也

空空如也

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

TA关注的人

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