<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[saltfish的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/biluyang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; biluyang]]></copyright><item><title><![CDATA[mule studio基础了解]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/49095593</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/49095593</guid><author>biluyang</author><pubDate>Tue, 13 Oct 2015 10:56:00 +0800</pubDate><description><![CDATA[文章原地址：http://my.oschina.net/OpenSourceBO/blog/174120



Mule studio 
了解概况： 
         Mule译为文，骡子、倔强之人它的图标确实也与骡子有几分神似。Mule是一个以java为基础的企业服务总线(ESB)，该集成平台允许开发者在遵循SOA服务导向式架构方法学下快速便捷的将不同应用程序连接在一起交换数据。可]]></description><category></category></item><item><title><![CDATA[打印1到最大的N位数]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/44063553</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/44063553</guid><author>biluyang</author><pubDate>Wed, 04 Mar 2015 18:35:59 +0800</pubDate><description><![CDATA[题目描述：
给定一个数字N，打印从1到最大的N位数。
输入：
每个输入文件仅包含一组测试样例。
对于每个测试案例，输入一个数字N(1
输出：
对应每个测试案例，依次打印从1到最大的N位数。
样例输入：
1
样例输出：
1
2
3
4
5
6
7
8

9


分析：
这是一个大数问题，利用字符串模拟运算。
#include
#include
#inc]]></description><category></category></item><item><title><![CDATA[数值的整数次方]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/44058079</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/44058079</guid><author>biluyang</author><pubDate>Wed, 04 Mar 2015 11:44:59 +0800</pubDate><description><![CDATA[题目描述：
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
输入：
输入可能包含多个测试样例。
对于每个输入文件，第一行输入一个整数T，表示测试案例的数目，接下来的T行每行输入一个浮点数base和一个整数exponent，两个数中间用一个空格隔开。
输出：
对应每个测试案例，
输出一个浮点数代表答案，保留两位小数即可。]]></description><category></category></item><item><title><![CDATA[旋转数组的最小数字]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/44018379</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/44018379</guid><author>biluyang</author><pubDate>Mon, 02 Mar 2015 15:18:44 +0800</pubDate><description><![CDATA[题目描述：
把一个数组最开始的若干个元素搬到数组的末尾，我们称之为数组的旋转。输入一个递增排序的数组的一个旋转，输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转，该数组的最小值为1。
输入：
输入可能包含多个测试样例，对于每个测试案例，
输入的第一行为一个整数n(1
输入的第二行包括n个整数，其中每个整数a的范围是(1
输出：
对应每个测试案例]]></description><category></category></item><item><title><![CDATA[常见排序算法总结]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43971001</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43971001</guid><author>biluyang</author><pubDate>Fri, 27 Feb 2015 19:41:24 +0800</pubDate><description><![CDATA[为加深排序算法的理解，总结一下常见的排序算法。


排序算法的大致分类：（网上找的图）


具体的实现：


直接插入排序：
基本原理为将待排序的数组分为有序区域和无序区域，每次将无序区域的一个数值插入到有序区域并排好序。最终实现排序。
void InsertSort(int k[],int n)
{
	int i, j, temp;
	for(i = 1; i < n; i]]></description><category></category></item><item><title><![CDATA[重建二叉树]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43951949</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43951949</guid><author>biluyang</author><pubDate>Thu, 26 Feb 2015 12:32:32 +0800</pubDate><description><![CDATA[题目描述：
输入某二叉树的前序遍历和中序遍历的结果，请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}，则重建二叉树并输出它的后序遍历序列。





struct BinaryTreeNode
{
    int m_nValue;
    BinaryTre]]></description><category></category></item><item><title><![CDATA[替换空格]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43927369</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43927369</guid><author>biluyang</author><pubDate>Tue, 24 Feb 2015 22:12:01 +0800</pubDate><description><![CDATA[题目描述：

请实现一个函数，将一个字符串中的空格替换成“%20”。例如，当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。




输入：

每个输入文件仅包含一组测试样例。
对于每组测试案例，输入一行代表要处理的字符串。




输出：

对应每个测试案例，出经过处理后的字符串。






第一种解法]]></description><category></category></item><item><title><![CDATA[二维数组中的查找]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43926667</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43926667</guid><author>biluyang</author><pubDate>Tue, 24 Feb 2015 20:35:11 +0800</pubDate><description><![CDATA[题目描述：
在一个二维数组中，每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。
输入：
输入可能包含多个测试样例，对于每个测试案例，
输入的第一行为两个整数m和n(1
输入的第二行包括一个整数t(1
接下来的m行，每行有n个数，代表题目所给出的m行n列的矩阵(矩阵如题目描述所示，每一行都]]></description><category></category></item><item><title><![CDATA[赋值运算符函数]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43924509</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43924509</guid><author>biluyang</author><pubDate>Tue, 24 Feb 2015 12:54:41 +0800</pubDate><description><![CDATA[题目描述：如下为类型CMyString的声明，请为该类型添加赋值运算符函数。
class CMyString
{
public:
    CMyString(char* pData = NULL);
    CMyString(const CMyString& str);
    ~CMyString(void);
private:
    char* m_pData;
};
分析：
（1）]]></description><category></category></item><item><title><![CDATA[KMP算法]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43876463</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43876463</guid><author>biluyang</author><pubDate>Wed, 18 Feb 2015 15:08:03 +0800</pubDate><description><![CDATA[KMP算法是一种字符串匹配的高效算法，简单的匹配算法（BF算法）时间复杂度为O(m*n)，KMP算法的时间复杂度为O(m+n)。
例如：当主串S为ABCDEFGH，匹配串T为ABCDEX。（其中数组下标0来存放字符串长度）
S串：ABCDEFGH
T串：ABCDEX
其中F与X不匹配，按照BF算法，应该S串右移一位，T串重新回到开始即：
S串：ABCDEFGH
T串：  ABCDEX]]></description><category></category></item><item><title><![CDATA[八数码问题]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43857381</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43857381</guid><author>biluyang</author><pubDate>Mon, 16 Feb 2015 23:28:00 +0800</pubDate><description><![CDATA[问题描述：编号为1~8的8个正方形滑块被摆成3行3列（有一个格子留空），每次可以把与空格相邻的滑块（有公共边才算相邻）移到空格中，而它原来的位置就成为了新的空格。给定初始局面和目标局面（用0表示空格），计算出最少的移动步数。如果无法到达目标局面，则输出-1。


#include
#include
#include
#include
#include
using namespace std;]]></description><category></category></item><item><title><![CDATA[分红酒]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43853985</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43853985</guid><author>biluyang</author><pubDate>Mon, 16 Feb 2015 19:28:17 +0800</pubDate><description><![CDATA[问题描述：
有4个红酒瓶子，它们的容量分别是：9升, 7升, 4升, 2升
  
  开始的状态是 [9,0,0,0]，也就是说：第一个瓶子满着，其它的都空着。


  允许把酒从一个瓶子倒入另一个瓶子，但只能把一个瓶子倒满或把一个瓶子倒空，不能有中间状态。这样的一次倒酒动作称为1次操作。


  假设瓶子的容量和初始状态不变，对于给定的目标状态，至少需要多少次操作才能实现？
]]></description><category></category></item><item><title><![CDATA[困难的串]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43853331</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43853331</guid><author>biluyang</author><pubDate>Mon, 16 Feb 2015 17:51:59 +0800</pubDate><description><![CDATA[问题描述：如果一个字符串包含两个相邻的重复的子串，则称它是“容易的串”，其他串称为“困难的串”。例如，BB、ABCDACABCAB、ABCDABCD都是容易的，而D、DC、ABDAB、CBABCBA都是困难的。输入正整数n和L，输出由前L个字符组成的、字典序第k小的困难的串。
样例输入：
7 3
30 3
样例输出：
ABACABA
ABACABCACBABCABACABCACBACA]]></description><category></category></item><item><title><![CDATA[素数环]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43837357</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43837357</guid><author>biluyang</author><pubDate>Sun, 15 Feb 2015 20:25:31 +0800</pubDate><description><![CDATA[问题描述：输入正整数n，把整数1，2,3，...，n组成的一个环，使得相邻两个整数之和均为素数。输出时从整数1开始逆时针排列。同一个环应恰好输出一次。n
样例输入：
6
样例输出：
1 4 3 2 5 6
1 6 5 2 3 4


#include
#include
#include
#include

int vis[100], A[100], isp[100];
int n;]]></description><category></category></item><item><title><![CDATA[八皇后问题]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43834523</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43834523</guid><author>biluyang</author><pubDate>Sun, 15 Feb 2015 13:40:36 +0800</pubDate><description><![CDATA[问题描述：在棋盘上放置8个皇后，使得她们互不攻击，此时每个皇后的攻击范围为同行同列和同对角线，要求找出所有解。
分析：经思考，恰好每行每列各放置一个皇后。如果用C[x]表示第x行皇后的列编号，则问题变成了全排列生成问题。0~7的排列一共只有8！=40320个，枚举量不会超过它。
下面程序简洁地求解八皇后问题。在主程序中读入n，并为tot清0，然后调用search(0)，即可得到解的个数tot。]]></description><category></category></item><item><title><![CDATA[子集生成]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43817755</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43817755</guid><author>biluyang</author><pubDate>Sat, 14 Feb 2015 16:23:45 +0800</pubDate><description><![CDATA[第一种方法：增量构造法，一次选出一个元素放到集合中，程序如下：


#include
#include
#include

void print_subset(int n,int *A,int cur)
{
    for(int i = 0; i <cur; i++) printf("%d ",A[i]);
    printf("\n");
    int s = cur ? A[cur]]></description><category></category></item><item><title><![CDATA[生成可重集的排列]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43737049</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43737049</guid><author>biluyang</author><pubDate>Wed, 11 Feb 2015 19:20:58 +0800</pubDate><description><![CDATA[输入数组p，并按字典序输出数组A各元素的所有全排列。#include
#include
#include

void print_permutation(int n,int *p,int *A,int cur)
{
    int i, j;
    if(cur == n)
    {
        for(i = 0; i < n; i++) printf("%d ",A[i]);]]></description><category></category></item><item><title><![CDATA[走迷宫]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43638349</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43638349</guid><author>biluyang</author><pubDate>Sun, 08 Feb 2015 16:40:00 +0800</pubDate><description><![CDATA[问题描述：一个网格迷宫由n行m列的单元格组成，每个单元格要么是空地要么是障碍物。任务是找一条从起点到终点的最短移动序列，其中UDLR分别表示上、下、左、右移动到相邻单元格。任何时候都不能在障碍格中，也不能走到迷宫之外。起点和终点保证是空地。n,m


分析：可以通过BFS来按照到起点的距离顺序遍历迷宫图。然后在遍历出最短的路径序列。
#include
#include
#include
#]]></description><category></category></item><item><title><![CDATA[层次遍历]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43637603</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43637603</guid><author>biluyang</author><pubDate>Sun, 08 Feb 2015 15:14:55 +0800</pubDate><description><![CDATA[问题描述：
输入一棵二叉树，你的任务是按从上到下、从左到右的顺序输入各个结点的值。每个结点都按照从根结点到它的移动序列给出（L表示左，R表示右）。再输入中，每个结点的左括号和右括号之间没有空格，相邻结点之间用一个空格隔开。每棵树的输入用一对空括号（）结束。
样例输入：
(11，LL) (7，LLL)  (8,R) (5,) (4,L) (13，RL) (2，LLR) (1，RRR) (4,R]]></description><category></category></item><item><title><![CDATA[二叉树重建]]></title><link>https://blog.youkuaiyun.com/biluyang/article/details/43636889</link><guid>https://blog.youkuaiyun.com/biluyang/article/details/43636889</guid><author>biluyang</author><pubDate>Sun, 08 Feb 2015 14:49:36 +0800</pubDate><description><![CDATA[二叉树递归定义它的先序遍历、中序遍历和后序遍历如下：
PreOrder(T)=T的根节点+PreOrder(T的左子树)+PreOrder(T的右子树) 
InOrder(T)=InOrder(T的左子树)+T的根节点+InOrder(T的右子树) 
PostOrder(T)=PostOrder(T的左子树)+PostOrder(T的右子树)+T的根节点 
问题描述：
输入一颗二叉树的先]]></description><category></category></item></channel></rss>