自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

我的ucos之旅------启动篇

从现在起,我要开始琢磨ucos啦,我使用的硬件平台是我从网上买来的一块MSP430开发板,使用的是windows平台,开发工具是IAR FOR MSP430。我呢,也是才开始学习的,一边学一边分享自己的成果,也是为了能记录下自己的一点东西把。因为昨天看到一篇文章,说是关于写新手博客的重要性,感觉蛮有道理的,所以我也要尝试下自己写点东西。空闲的时候少玩几盘dota,时间就有啦,呵呵。...

2011-10-29 11:56:00 123

实用算法实现-第 18 欧拉回路

18.1 欧拉回路存在性的判断欧拉回路问题可以分为无向图中的欧拉回路和欧拉通路,有向图中的欧拉回路和欧拉通路。这几个问题大抵相像。有向欧拉回路有:定理:假设有像多重图D有性质:当忽略有向边上的方向时,得到的图是连通的,那么D有有向欧拉回路当且仅当D的每个顶点的入度和出度相等。类似的,对有向欧拉通路有:定理:D有有向欧拉通路,当且仅当除两个不同顶点B和C之外,D的其它顶点的入度和...

2011-10-26 23:20:00 132

JBoss4.2.2.GA下部署OpenJWeb介绍

JBoss环境下部署OpenJWeb的过程时间:2011-10-20 来源:www.openjweb.com 作者:abao 内容字号:小|大 <!--判断是否有摘要--><!--判断是否有图片-->JBOSS4.2.2GA环境下部署OpenJWeb的步骤配置JAVA_OPTS参数 这一步骤很重要,因为需要指定MaxPermSize,因为Ope...

2011-10-26 12:52:00 186

实用算法实现-第 17 篇 强连通分支

求强连通分量的著名算法:Kosaraju算法,Gabow算法和Tarjan算法。其中Kosaraju算法要对原图和逆图都进行一次DFS,而另外两种算法只要进行一次DFS即可。[i]文是介绍Gabow算法的论文。17.1 Kosaraju算法Kosaraju算法虽然要进行两次DFS,但是复杂度仍然是O(V+E),而且比较容易理解。17.1.1实例PKU JudgeOnline, 21...

2011-10-25 23:38:00 164

实用算法实现-第 16 篇 拓扑排序

16.1 拓扑排序拓扑排序的本质是由某集合上的一个偏序得到该集合上的一个全序。16.1.1实例PKU JudgeOnline, 1094, Sorting It All Out. 16.1.2问题描述给出类似A<B的一系列关系,判断输入第几个关系的时候顺序排定,或者出现环,或者所有输入完成后仍没出现环或者排定顺序。注意:当拓扑排序不唯一(当然也就不确定)的时候 还要判...

2011-10-24 23:19:00 90

实用算法实现-第 15 篇 对抗搜索

《人工智能,一种现代方法》对于对抗搜索的介绍非常好。15.1 极小值极大值策略极大值极小值策略是一种最优策略。当对手不犯错误时,最优策略能够导致至少不比其它任何其它策略差的结果。需要注意的是,最优策略针对的是最优化对手:如果使用极大值极小值策略对付非最优化对手,可能没有使用其它策略好,但是使用那些策略对付最优化对手必定要比极大值极小值策略差。极小值极大值策略是指存在两个最优化的博弈对手...

2011-10-23 23:39:00 292

实用算法实现-第 14 篇 启发式搜索

14.1 A*搜索A*(A star)算法是一种很好的树搜索策略,在许多人工智能的书籍中有所介绍。比如《人工智能,一种现代方法》和《人工智能,复杂问题求解的结构和策略》。[i]文介绍到,A*算法使用估价函数F(N)来估算从初始状态S到当前状态N,再到目标状态T需要的最小步数。有公式:F(N) = G(N) + H(N)其中,G(N)是起始状态S到当前状态的实际代价G(N),它比最佳...

2011-10-23 00:15:00 231

实用算法实现-第13篇 搜索(盲目搜索)

在人工智能中,盲目搜索是相对于启发式搜索来说的。13.1 广度优先搜索《算法导论》中,广度优先(Breadth-First)搜索树的伪代码如下:BFS(G,s)1 for each vertex u ∈ V[G] - {s}2 docolor[u] ← WHITE3 d[u] ← ∞4 ∏[u] ← NIL5 color[s] ← GRAY6 d[s] ← ...

2011-10-22 01:17:00 513

实用算法实现-第12篇 不相交集合(并查集)

12.1 不加按秩合并启发式的并查集并查集可以进行两方面的启发式,一种是按秩合并,也就是使得包含较少结点的树的根指向包含较多结点的树的根。另一种是路径压缩,也就是使得查找路径上的每个结点都直接指向根结点。但是有些问题只有使用不加按秩合并启发式的并查集才能够解决,因为按秩合并意味着不能够手动控制集合的合并方向。12.1.1实例PKU JudgeOnline, 1182, 食物链....

2011-10-21 12:18:00 151

Augmented BNF for Syntax Specifications: ABNF

原文:http://tools.ietf.org/html/rfc5234Core RulesCertain basic rules are in uppercase, such as SP,HTAB, CRLF, DIGIT, ALPHA, etc.ALPHA = %x41-5A / %x61-7A ; A-Z / a-zBIT = "0" / "1"CHAR...

2011-10-20 17:16:00 120

YSLOW法则中,为什么yahoo推荐用GET代替POST?

原文:http://www.cnxct.com/use-get-for-ajax-requests-why/上上周五,公司前端工程师培训,提到前端优化的一些技巧,当然不能少了yahoo yslow的优化法则。其中有这么一条“Use GET for AJAX Requests”,这些法则从最开始的14条,到现在的35条,一直都时刻关注的。可这么一条的原因我却一点都不清楚。在提问的环节里,我对ya...

2011-10-20 14:20:00 97

实用算法实现-第 11 篇 贪心算法

11.1 Huffman编码Huffman设计了一个可以用来构造一种称为Huffman编码的最优前缀码的贪心算法。11.1.1实例PKU JudgeOnline, 1521, Entropy.11.1.2问题描述给定一组ASCII码组成的字符串,求用Huffman编码该字符串所需的长度,及采用该编码带来的压缩比。11.1.3输入AAAAABCDTHE_CAT_IN_...

2011-10-20 12:17:00 102

ContentProvider和Uri详解

网上写的ContentProvide和Uri详解,转过来,下次方便查询,呵呵一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,以前我们学习过...

2011-10-20 11:22:00 79

对于集合一定要调用isEmpty

Reasons to call.isEmpty on collections我已经不止一次看到这样的代码:if (collection.size() > 0) { ...}这是大多数程序员检查集合不为空的第一固有想法。但是,这里有一个更好的方法isEmpty:if (!collection.isEmpty()) { ... }使用isEmpty而不是size有以下几...

2011-10-18 22:04:00 421

实用算法实现-第 10 篇 动态规划

10.1 动态规划10.1.1实例PKU JudgeOnline, 1160, Post Office.10.1.2问题描述 一条直线上分布着V个村庄。要在这些村庄中的某些村庄里建一共P个邮局,使得村庄到离它最近的邮局的距离之和最小。输出这个的最小距离之和。10.1.3输入10512 3 6 7 9 11 22 44 5010.1.4输出910.1....

2011-10-18 15:17:00 89

实用算法实现-第 9 篇 RMQ问题

9.1 RMQ问题RMQ(Range Minimum/Maximum Query)问题,就是对于给定数组,在其下标范围[i, j]内给出的最小值(或最大值,下文都称最小值)的问题。RMQ和LCA问题可以互相转化,一个对RMQ和LCA问题的总结如下表[i]:算法处理方式复杂度备注转化算法LCA =>...

2011-10-17 08:33:00 113

实用算法实现-第 8 篇 后缀树和后缀数组 [4 最长回文子串]

8.5 最长回文子串定义字符串S的逆序为S’,有S’[i]=S[n - i - 1](0 ≤ i < len(S),下文所有i处于这个区间内)。其中len(S)为S的长度。如果S和S’相同,则称S为回文串(Palindrome)。S的最长回文子串就是S的所有子串中是回文串且长度最长的字符串。定义Suffix(S, i)为S以S[i]开头且包含S[i]的后缀字符串。定义Prefix...

2011-10-16 13:31:00 166

实用算法实现-第 8 篇 后缀树和后缀数组 [3 两个字符串的最长公共子串]

8.4 两个字符串的最长公共子串两个串的最长公共字串是相对于多个串要简单一点,不需要二分A。只需要判断相邻两个Height是不是分属两个字符串即可。8.4.1实例PKU JudgeOnline, 2774, Long Long Message.8.4.2问题描述给两个小写ASCII字母组成的字符串,求出它们最大公共子串的长度。相比PKUJudgeOnline, 3450, ...

2011-10-16 12:56:00 178

实用算法实现-第 8 篇 后缀树和后缀数组 [2 最长公共子串]

8.3 最长公共子串求N个串的最长公共子串,可以转化为求一些后缀的最长公共前缀的最大值,这些后缀应分属于N个串。设N个串分别为S1,S2,S3,…,SN。具体方法如下:1. 建立字符串S,使得S = S1[P1]S2[P2]S3…SN-1[PN-1]SN。其中P1,P2,…,PN-1应为不同的N - 1个不在字符集中的字符,作为分隔符。插入分隔符的目的是为了防止S的后缀的公共前缀超出原...

2011-10-16 00:01:00 147

实用算法实现-第8篇 后缀树和后缀数组 [1简介]

8.1 后缀树一棵后缀树包含一个指定文本的所有后缀,对于在一个长度为N的文本中查找一个长度为M的子字符串,一个后缀树仅仅需要M次比较,而这个比较次数是查找该字符串所需要的最小比较次数。后缀树有以下特征:一条边可以表示文本的任何非空子串,每个非终端节点,除了根节点,必须至少有两个孩子边,兄弟边表示的子串必须开始于不同的字符。ababa所对应的后缀树如下所示:后缀树可以解决很多复杂的字...

2011-10-15 11:50:00 259

Android[中级教程] 深入剖析Android消息机制

这篇文章是在一个论坛里看到的,作者写得相当不错,对于Android的Handler消息机制分析得也相当透彻.下面我们来看一下:在Android中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易、更好地架构系统,避免一些低级的错误。在学习Android中消息机制之前,我们先了解与消息有关的几个类:1.Message消息对象,顾名思...

2011-10-15 09:04:00 52

实用算法实现-第 7 篇 Trie树

Trie,又称单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。它有3个基本性质:1. 根结点不包含字符,除根结点外每一个结点都只包含一个字符。2. 从根结点到某一结点,路径上经过的字符连接起来,为该结点对应的字符串。3. 每个结点的所有子结点包含的字符都不相同。7.1 Trie树7.1.1实例PKU JudgeOnline,...

2011-10-15 00:59:00 76

Android[项目] Android天气预报

这个项目是基于webservice的,用ksoap2来解析网络上的WebService的,我们先看做出的效果图其实也没有很多技术难题,我们直接来看源码再做说明吧import java.util.ArrayList;import java.util.List;import org.ksoap2.SoapEnvelope;import org.ksoap2.serial...

2011-10-14 10:15:00 174

D语言之路-第1篇 库函数之争

D语言有着两个不同的库,分别为Phobos[i]和Tango[ii]。这对于像我这样的初学者来说面临着一个选择,你是愿意和跳探戈呢(tango with D,事实上Tango的标准教材之一是《learn to tango with D》[iii],中译版《学习D语言的tango》[iv]),还是作为一颗忠实的卫星(Phobos即火卫一)。对于Java这种具有统一的标准库和运行平台的语言来...

2011-10-14 02:42:00 218

实用算法实现-第6篇 线段树

6.1 线段树简介线段树的定义如下: 一棵二叉树,记为T (a,b),参数a,b表示该结点表示区间[a,b]。区间的长度b-a记为L。递归定义T[a,b]: 若L>1 :[a, (a+b) div 2]为 T的左儿子 [(a+b)div 2,b]为T的右儿子。 若L=1 :T为一个叶子结点。表示区间[1, 10]的线段树表示如下:...

2011-10-13 21:13:00 156

实用算法实现-第 5 篇 二分查找树

5.1 二分查找树算法《算法导论》中,二分查找树的伪代码如下:ITERATIVE-TREE-SEARCH(x,k)1 while x ≠ NIL and k ≠ key[x]2 do if k < key[x]3 thenx ← left[x]4 elsex ← right[x]5 return xTREE-INSERT(T,z)1 y ← NIL2 ...

2011-10-12 12:26:00 151

实用算法实践-第 4 篇 散列表

4.1 直接寻址表当关键字的全域比较小时,直接寻址时一种简单而有效的技术。4.1.1实例PKU JudgeOnline, 1200, Crazy Search.4.1.2问题描述给定一个有NC个不同字符的字符串,求出其长度为N的子字符串的个数。例如字符串“daababac”有5个长度为3的子字符串:“daa”、“aab”、“aba”、“bab”、“bac”。输入保证子字符串...

2011-10-11 10:28:00 112

实用算法实践-第 3 篇 堆排序

虽然堆排序算法是一个很漂亮的算法,但是在实际中,快排序的一个好的实现往往优于堆排序。尽管这样堆数据结构还有很大的用处,例如优先级队列。3.1 最小堆下面的程序就是按照《算法导论》最小堆的优先级队列的实现,修改几个小于号(大于号)可以轻易地将最小堆变成最大堆。最小堆的一个用法实例是在Huffman编码中。3.1.1最小堆的优先级队列程序#include <iostrea...

2011-10-10 19:09:00 98

实用算法实践-第 2 篇 有序数组的二分查找

2.1 有序数组的二分查找有序数组的二分查找就是利用数组的有序性,找到满足条件的最大(或者最小)下标。因为由于有序性,所以如果下标A不满足条件,那么比A小(或者大)的所有下标都不满足条件,故此可以使用二分查找。二分的思想还用在其他的地方,都是在具有类似有序的一组元素中找出符合条件的最大(或最小)下标的地方。例如答案的二分。2.1.1程序int Correspond(int n,...

2011-10-10 19:08:00 112

实用算法实践-第1篇 排序

1.1 选择排序许多排序算法比选择排序快多了,但是选择排序能够将排序的交换次数降到最少,这是它比冒泡排序的优点之所在。通过下面这个实例就可以深刻认识这一点。1.1.1实例PKU JudgeOnline, 1674, Sorting by Swapping.1.2 库函数的应用快速排序函数qsort()非常好用,下面就是一些应用例子。据说,STL的sort()函数比std...

2011-10-09 19:15:00 99

Multipart/form-data POST文件上传详解

Multipart/form-data POST文件上传详解理论简单的HTTP POST大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下:<form method="post"action="http://w.sohu.com" > <inputtype="text" name="txt1"> <i

2011-10-09 17:45:00 8424

Android[中级教程]第十章 Mysql+Json+Android的组合

这一章,我们重点来介绍服务器Mysql数据库通过PHP将Json数据交给Android来处理,同学们初看一定觉得好多专业术语哦,呵呵,其实,等我讲完,大家应该都能理解,好了,首先我们来看数据库,Mysql数据库,做过网站的同学应该对Mysql数据库不陌生,我们先在Mysql数据库中创建库表跟数据接下来就要将Mysql的数据暴露给Android了,这里我用了ThinkPHP模板这里就不讲...

2011-10-09 15:45:00 97

Android[中级教程]第九章 网络数据的处理之HttpClient

这一章我们主要来介绍网络数据的传递与处理,相信很多读者都希望做出来的应用能跟网络上的数据进行互动,如微博,论坛之类的,这里我们就要学习网络传输与返回数据的处理,首先网络传递参数有POST跟GET两种协议,做过网页或是学习过的同学应该知道.网页每个表单中都有一个<form action="XXX" method="post">参数,这里method就是提交表单参数使用的协议,当然,协议不...

2011-10-09 13:07:00 55

Android[中级教程]第八章 Json数据的处理

经过上几章的学习,相信同学们对XML解析已经得心应手了,但今天我们要解析Json数据,因为Json数据占用数据量小,因此在Android中主要数据通信还是以Json为主,而且Json数据可以跟Android进行AJAX互动,相当方便哦,好了,不多说了,看图跟代码:先上图:首先定义了Json数据:{ "persons": [ { "id": "1", "status":"大徙弟"...

2011-10-08 00:29:00 85

Android[中级教程]第七章 XML解析之Dom解析器

接上一章,这一章我们介绍Dom解析,因为Dom是J2EE中用得比较多的解析器,这里解析方法跟J2EE方法是一样的,具体的样式跟以下这篇文章中的样式是一样的<?xml version="1.0" encoding="UTF-8"?><persons> <person id = "1"> <status>大徙弟&lt

2011-10-07 22:56:00 54

Android[中级教程]第六章 XML解析之SAX解析器

接上一章,这一章我们就来学习SAX解析器,其实SAX跟PULL解析器差不多,事实上学会和掌握一种XML解析器对于完成项目来说已经足够了,当然,多学一点也不是什么坏事,你说呢?呵呵,加油哦!我们还是以唐僧师徙的数据为例<?xml version="1.0" encoding="UTF-8"?> <persons> <person id = "1"...

2011-10-06 01:52:00 47

Android[中级教程]第五章 XML解析之PULL解析器

这一章我们来学习Android中的XML解析器,Android中自带了三个XML解析器,有PULL,SAX,DOM解析器,其中PULL跟SAX都是以事件作为驱动导向的解析器,优点是占用内存小,处理速度快,DOM是将整个XML放入内存中再解析,处理速度要稍差一些,但DOM也有自己的优点,可以在解析的时候适当增加节点.OK,我们先来看一下我们要解析的xml文件<?xml version="1...

2011-10-06 00:56:00 59

Android[中级教程]第四章 单元测试AndroidTestCase

相信很多同学都会有操作SQLite不方便的感觉,对于数据库操作又不能很明显地看出问题,这里我们就接上一章的SQLite操作辅助类进行单元测试,OK,我们来看一下类码:首先是DatabaseHelper.javaimport android.content.Context;import android.database.sqlite.SQLiteDatabase;import andro...

2011-10-04 00:43:00 57

Android[中级教程]第三章 数据存储之SQLite

这一章我们来学习Android数据库SQLite,还是接上一章的,对于唐僧师徙去西天,三个徙弟得要杀妖怪啊,那得有个汇总啊,有个记数啊,这里我们就用SQLite来存储各徙弟杀死妖怪的数量,OK,上main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas...

2011-10-04 00:10:00 42

Android[中级教程]第二章 数据存储之File

接着上面一章,这次我们将数据存储在File文件里,布局文件没什么改变,还是一样的布局,看main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="v...

2011-10-03 01:01:00 68

空空如也

空空如也

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

TA关注的人

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