<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[linvim的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/linvim</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; linvim]]></copyright><item><title><![CDATA[erlang-Astart算法]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84922922</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84922922</guid><author>linvim</author><pubDate>Mon, 02 Jul 2018 08:34:08 +0800</pubDate><description><![CDATA[[code=&quot;java&quot;]
%%%-------------------------------------------------------------------
%%% Module  : astar_trace
%%% Author  : 
%%% Description : A星寻路算法
%%%-----------------------------------------...]]></description><category></category></item><item><title><![CDATA[基础知识收录（六）字长]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84910861</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84910861</guid><author>linvim</author><pubDate>Sat, 21 Oct 2017 15:09:43 +0800</pubDate><description><![CDATA[1bytes = 8bit  即 1字节=8位

32位机器，1字用32位表示，那么1字长=32/8=4字节
64位机器，1字用64位表示，那么1字长=64/8=8字节]]></description><category></category></item><item><title><![CDATA[erlang--常用内建函数收录]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84810101</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84810101</guid><author>linvim</author><pubDate>Fri, 15 Jul 2016 15:43:38 +0800</pubDate><description><![CDATA[1:gen_event:which_handlers(EventRef).
  返回EventRef类型的event handlers
  例如：
  error_logger:add_report_handler(my_loger),
  gen_event:which_handlers(error_loger)
]]></description><category></category></item><item><title><![CDATA[erlang异常--try...catch]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84809865</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84809865</guid><author>linvim</author><pubDate>Wed, 13 Jul 2016 19:48:41 +0800</pubDate><description><![CDATA[[color=blue]触发异常[/color]
[code=&quot;java&quot;]
throw(Term)
exit(Reason)
erlang:error(Reason)

特列：exit(normal)，进程调用它所跑出的异常不会被捕获，该进程正常终止
[/code]

[color=blue]try...catch[/color]
[code=&quot;java&quot;]
try
  ...]]></description><category></category></item><item><title><![CDATA[erlang-退出信号捕捉trap_exit]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84809611</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84809611</guid><author>linvim</author><pubDate>Tue, 12 Jul 2016 09:54:57 +0800</pubDate><description><![CDATA[[color=blue]进程链接的工作[/color]：
  A进程意外退出时，会产生一个退出信号。所有与A进程[color=red]链接的进程(link)[/color]都会收到这个信号。[color=red]在默认情况下[/color]，接收方会一并退出并将信号传播给与它链接的其他进程，直到所有直接或间接链接在一起的所有进程统统退出为止。

  [color=blue]OPT实现容错实现...]]></description><category></category></item><item><title><![CDATA[排序算法(六)---快速排序（交换排序）]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84804913</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84804913</guid><author>linvim</author><pubDate>Wed, 01 Jun 2016 11:25:02 +0800</pubDate><description><![CDATA[直接排序属于交换排序

基本思想：
1：选1个基准元素（通常是第一个元素或最后一个元素），将待排数列分成两部分，一部分比基准元素小，一部分比基准元素大
2：再对这两部分数列重复步骤1

时间复杂度：
最好情况：O(n*logn)
最坏情况，退化为冒泡排序 O(n*n)

稳定性：不稳定

python代码实现：quick_sort.py
[code=&quot;java&quot;]
de...]]></description><category></category></item><item><title><![CDATA[排序算法(五)---冒泡排序（交换排序）]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84804822</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84804822</guid><author>linvim</author><pubDate>Tue, 31 May 2016 17:05:53 +0800</pubDate><description><![CDATA[冒泡排序属于交换排序

基本思想：
  在待排序数列中，自上而下对相邻的两个元素进行比较和调整，小的上冒，大的下沉

时间复杂度：
  最好情况：正序有序，只需比较n次，O(n)
  最坏情况：反序有序，需要比较(n-1)+(n-2)+...1次，故O(n*n)

稳定性：稳定

代码示例：bubble_sort.py
[code=&quot;java&quot;]
def bubble_s...]]></description><category></category></item><item><title><![CDATA[排序算法(四)---堆排序（选择排序）]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84804817</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84804817</guid><author>linvim</author><pubDate>Tue, 31 May 2016 16:40:44 +0800</pubDate><description><![CDATA[堆排序：heap sort属于选择排序

堆的定义：有n个元素的序列(k1,k2...kn)满足：

1：Ki =&lt; K2i 且 Ki =&lt; K2i+1 （小顶堆) 

或

2：Ki &gt;= K2i 且 Ki &gt;= K2i+1 （大顶堆)

i = （1,2,...n/2)

基本思想：
把要排序的n个数的序列组建成一个堆，将堆顶元素输出（这时，堆顶元素也即是根元素是最大...]]></description><category></category></item><item><title><![CDATA[排序算法(三)---直接选择排序]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84804412</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84804412</guid><author>linvim</author><pubDate>Fri, 27 May 2016 16:34:42 +0800</pubDate><description><![CDATA[选择排序

基本思想：
  从待排数列中，选取一个最小（或最大）的数，和[color=green]第1位置[/color]的数交换，再从余下待排序数列中，选取最小（或最大）的一个数，和[color=green]第2个位置[/color]的数交换，直到第n-1(倒数第二个)个元素和第n（末尾)个元素比较

操作方法：
[code=&quot;java&quot;]
9   5   6   2   1   ...]]></description><category></category></item><item><title><![CDATA[排序算法(二)--希尔排序(插入排序)]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84804338</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84804338</guid><author>linvim</author><pubDate>Fri, 27 May 2016 10:37:39 +0800</pubDate><description><![CDATA[  希尔排序属于插入排序的一种，也称为缩小增量排序

[color=blue]基本思想：[/color]
  将待排序数列划分为几个数列，对这几个数列分别进行直接插入排序

[color=blue]具体操作：[/color]
  选取增量d（小于数列长度n），将数列划分为n/d个数列，对划分的数列进行直接插入排序
  再选取一个增量d1，d1= 1):
        for i ...]]></description><category></category></item><item><title><![CDATA[排序算法(一)---快速插入排序]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84804267</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84804267</guid><author>linvim</author><pubDate>Thu, 26 May 2016 17:13:26 +0800</pubDate><description><![CDATA[因为对算法这一项实在是弱爆了，对自己从零开始学习，慢慢记录过程，加油哦
再因为最近在学习python和lua，就分别用两种语言都实现了

快速插入排序

[color=blue]基本思想[/color]：（假设是：从小到大，升序）
每次选择一个元素K插入已排好序的L[1...i]部分，如果L[x]&gt;K，则K插入到L[x]前面，
要对L[x]后面的元素进行后移

[color=bl...]]></description><category></category></item><item><title><![CDATA[基础知识收录（五）编码]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84802106</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84802106</guid><author>linvim</author><pubDate>Wed, 11 May 2016 11:33:13 +0800</pubDate><description><![CDATA[一个字节（byte）=8位二进制数（bit）:1(byte) = 8(bit)

1 ASCII码（American Standard Code for Information Interchange，美国标准信息交换代码），占用一个字节

2 unicode编码，ASCII码对于美国，欧洲这些国家字符够用，但是处理中文字符至少要2个字节，ASCII码明显不够用，所以中国定制了GB2312...]]></description><category></category></item><item><title><![CDATA[Lua学习（六）元表和元方法]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84795588</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84795588</guid><author>linvim</author><pubDate>Fri, 29 Apr 2016 16:52:46 +0800</pubDate><description><![CDATA[  可以通过一个元表修改一个值的行为，使其在面对一个非预定义操作时执行一个指定操作
元表：metatable

元方法：metemethod
[code=&quot;java&quot;]
__add        --加法
__mul        --乘法
__sub        --减法
__div        --除法
__unm        --相反数
__mod        -...]]></description><category></category></item><item><title><![CDATA[Lua学习（五）函数进阶篇]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84795176</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84795176</guid><author>linvim</author><pubDate>Wed, 27 Apr 2016 17:32:18 +0800</pubDate><description><![CDATA[第一类值：在lua中，函数与其它数据类型（数字，字符串）一样，可以存放在变量中，可以存放在table中，可以作为实参，还可以作为函数返回值

词法域：嵌套的函数可以访问他外部函数的变量

非局部变量：
[code=&quot;java&quot;]
names = {&quot;kate&quot;, &quot;john&quot;}
grades = {kate = 6, john = 9}
function sortbygrade(n...]]></description><category></category></item><item><title><![CDATA[Lua学习（四）函数]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84795134</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84795134</guid><author>linvim</author><pubDate>Wed, 27 Apr 2016 15:23:28 +0800</pubDate><description><![CDATA[[color=blue]函数的作用：
  1、完成某项特定任务
  2、计算并返回结果[/color]

[color=blue]语法：[/color]
[code=&quot;java&quot;]
function func_name(args)
    statements
end
[/code]

[color=blue]1、多重返回值[/color]
[color=red]  A、若...]]></description><category></category></item><item><title><![CDATA[Lua学习（三）语句]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84795069</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84795069</guid><author>linvim</author><pubDate>Wed, 27 Apr 2016 10:28:14 +0800</pubDate><description><![CDATA[[color=blue]1、赋值语句[/color]
[code=&quot;java&quot;]
a = 1
a,b = 10, 2*x   （多重赋值）
x,y,z=1,2       （x=1,y=2,z=nil）
x,y = y,x       （交换x，y值）[/code]
[color=blue]2、局部变量和块（block）[/color]
局部变量：用 local 定义，作用域仅限于声...]]></description><category></category></item><item><title><![CDATA[Lua学习（二）表达式]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84794978</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84794978</guid><author>linvim</author><pubDate>Tue, 26 Apr 2016 17:47:22 +0800</pubDate><description><![CDATA[1、算数操作符：+ - * / ^ % 
[code=&quot;java&quot;]
^ 指数运算
x^2    ---&gt;x的平方
x^0.5  ---&gt;x的评分根

% 取模(求余）运算，定义如下：
a%b = a - math.floor(a/b)*b

x%1       --&gt;x的小数部分
x-x%1     --&gt;x的整数部分
x-x%0.01  --&gt;x精确到小数点后两位
[/...]]></description><category></category></item><item><title><![CDATA[Lua学习（一）类型和值]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84794934</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84794934</guid><author>linvim</author><pubDate>Tue, 26 Apr 2016 15:01:47 +0800</pubDate><description><![CDATA[  今天准备开始学习lua，有点小紧张，一步一步记录自己的学习过程，勉励自己，加油。

[color=blue]类型和值[/color]

[color=blue]1、nil （空）[/color]
  未被赋值的变量默认值都为nil，将变量赋值nil等同删除变量

[color=blue]2、boolean （布尔）[/color]
  false和nil都为“假”

  0...]]></description><category></category></item><item><title><![CDATA[Erlang--随机数]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84794687</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84794687</guid><author>linvim</author><pubDate>Mon, 25 Apr 2016 10:26:16 +0800</pubDate><description><![CDATA[[color=blue]1、普通随机[/color]
[code=&quot;java&quot;]random:uniform(N)[/code]

[color=blue]2、以时间为种子[/color]（这是比较常见的一种做法）但是会出现一个问题：如果两个函数同一时刻去调用；或者一个函数循环递归调用，产生的随机数就不可靠了。
[code=&quot;java&quot;]random:seed(erlang:now())...]]></description><category></category></item><item><title><![CDATA[以http，svn两种方式访问svn库]]></title><link>https://blog.youkuaiyun.com/linvim/article/details/84794384</link><guid>https://blog.youkuaiyun.com/linvim/article/details/84794384</guid><author>linvim</author><pubDate>Fri, 22 Apr 2016 18:25:54 +0800</pubDate><description><![CDATA[  在[url] http://room-bb.iteye.com/blog/2190213[/url]搭建svn服务器这一文中，是通过svn:// 方式来访问svn仓库的。本文着重介绍通过apache配置，以http方式来访问版本库（这对于svn版本库部署在外网服务器上很有用）

[color=blue]1：创建多个svn仓库[/color]
[code=&quot;java&quot;]
svnadmin...]]></description><category></category></item></channel></rss>