自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

原创 Kruskal算法模拟讲解

Kruskal 算法是一个求最小生成树的算法,即求最小的开销等 算法可以这样,要求得最小生成树,那么n个节点只能包括n-1条边 所以我们应该转换为寻找这最短的n-1条边,因此,可以先对所有的 边进行从小到大排序,每次取出一条边来进行试探,看是否够成环, 如果不构成环,那么肯定是最短的路径了,因为每次都是取最小 的边来试探,最终可以求得最小的生成树代价和。

2013-08-31 21:00:35 1209

原创 Dijkstra算法模拟讲解

dijkstra算法,是一个求单源最短路径算法 其算法的特点为: 层层逼进,有点类似宽度搜索的感觉 其需要的数据结构为: int map[N][N] 所有点之间的权表 int dis[N] 所有点到源点的最短距离 int prev[N] 存储每个点的前一个经过的点,用于输出路径 int used[N] 用于存储已经求出最短路径的点 则总的点减去used中的点,为还没有找出最短路径的点 初始化时:map为实际存储的权,如果某一边没有,则设置为无穷大INF,自身设置0

2013-08-30 15:11:47 1091

原创 编程书籍积累

25 Free Computer Science EbooksBook Training - On VideoCheat Sheets (Free)CodePlex List of Free E-BooksFree Tech BooksGalileo Computing (German)How to Design Programs: An Introduction to

2013-08-29 09:24:19 1841

原创 归并排序模拟讲解

归并算法速度比较快,但也难理解,我用很详细的叙述将 整个过程给模拟了出来

2013-08-27 23:25:46 2538

原创 堆排序的详细讲解及实现

堆排序:特点        堆排序(HeapSort)是一树形选择排序。堆排序的特点是:在排序过程中,将R[l..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系(参见二叉树的顺序存储结构),在当前无序区中选择关键字最大(或最小)的记录堆排序与直接选择排序的区别直接选择排序中,为了从R[1..n]中选出关键字最小的记录,必须进行n-1次比较,

2013-08-27 16:18:33 3206 1

原创 快速排序算法实现,模拟讲解

快速排序是一个比较好的算法,但不好理解,我用模拟的方法来讲解,这样比较容易懂,其平均时间复杂度为O(nlog(n)),最极端状态为O(n2)对于排序算法来说是比较快的,但排序算法是递归的调用,会占用大量资源

2013-08-25 21:09:06 2034

原创 冒泡排序改进

平常写冒泡排序法时,都是直接两个for循环就搞定了,但这其实还是可以优化一下的,可以在某一次遍历过程中,如果没有发现数据进行交换,则可以确定排序已经完成,这样就可以跳出循环了。代码如下:/* Filename:bubleSort.cpp Author: xiaobing E-mail: xiaobingzhang29@gmail.com Date: 2013-08-25*

2013-08-25 19:37:20 1188

原创 两个大数相乘

计算大数乘法方法,第一种用整形数组计算,第二种用字符串实现,可以无数多位计算,只要内存够的话。

2013-08-24 00:59:20 5506

原创 poj1125 Floyd算法

对Floyd算法的理解: Floyd算法是一个已多源求最短路径的算法,算出每个节点到其他点的最短距离, 时间复杂度为n的3次方,可以用于求解那些从任意点中选出一个最短的路径出发 的问题,程序实现简单,但不能求解数据量较大的图

2013-08-23 20:22:08 1314

原创 poj2488深度搜索

关于dfs的理解 准备条件: 1、实现寻找目标步骤的方法,即移动的方法 2、一个可以容纳所有可能节点的容器 3、一个用于存储遍历结果的路径的容器 方法: 1、运用递归函数,逐个遍历,将节点选择的地方放在递归函数内部, 当检测到当前节点可行时,需标记为访问过,并将改节点存入路径中, 然后继续寻找下一个可能的节点,找完后,应将遍历过的节点恢复, 因为有

2013-08-23 19:26:48 1084

原创 用正则表达式获取文件名和路径

用正则表达式获取文件名和路径,并介绍一下正则引擎中的NFA原理

2013-08-21 22:11:51 15675 2

原创 用正则匹配一串字符串中的ip地址

IP地址有4段组成,每一段数字的范围为0~255,在一段文本中提取ip地址可以这样$src = 'src = alsdlk ks sdf2.3.3.4 234.193.1.120.1232 d.233.43.23.34 23.34.23.33 dfkl lksd\flk \lkjs.c lksf.c \ kldslfj.c lkdslkf.c lkkldsf.c';$src =~ m/

2013-08-21 21:24:59 5009

原创 用正则匹配多行文本

如果有这样一个字符串         $var = "src = arr.c build.c eval.c field.c \                                  missing.c msg.c re.c version.c"用一般的^\w+\s*=\s*.*$只能匹配上面的那句,而下面的那一句就无法匹配了方法一:使用的是perl$var = "s

2013-08-21 21:02:10 6839

原创 Android 中的MVC与数据流动

今天看了一个Android的Training生命周期转换的例子,顿觉得他的设计非常巧妙,我的分析如下:         1.在com.example.android.lifecycle包中有:                    3个正常的全屏activity,一个类似dialog的activity         2.在com.example.android.lifecycle.u

2013-08-20 16:10:29 1354

原创 Activity开发中需要保存状态的情形

11.Activity开发中需要保存状态的情形 1.当进入onPause()方法后,应该保存一些状态,比如停止视频播放,停止网络连接,将当前的内容存入Contentprovider中,但不能在这里使用大量的数据库操作,因为Activity之间的切换是在调用完onPause()方法后,在调用第二个Activity的onCreate()方法,如果这里太长时间,会影响activity间的切换,并导致不

2013-08-19 23:23:54 1176

转载 shell中的大括号,小括号

原文来自:http://blog.sina.com.cn/s/blog_4a2a29f00100o2os.html觉得写得不错,我算大致模仿了一下1.shell中的大括号和小括号1.${var}2.$(cmd)3.() 和 {}4.${var:-string}, ${var:+string}, ${var:=string}, ${var:?string}5.$((e

2013-08-10 00:06:22 1645

原创 shell 文件名分割,重命名移动批量文件

2.文件名分割1.分割出文件名和扩展名file="sample.jpg"name=${file%.*}echo "File name is: $name"输出:File name is: sample这里的${file%.*}的意思是:用file的内容,从右边匹配字符串,这里是.*,说明遇见'.'号结束,然后取出剩余的左边的部分作为结果返回ext

2013-08-10 00:02:03 8194

原创 linux shell——md5sum,sha1sum,sort,uniq

用md5sum和sha1sum来检测文件是否被修改,用sort和uinq来对文件内容操作

2013-08-09 23:54:27 3117

原创 Unix哲学

Unix哲学: Doug McIlroy, the inventor of Unix pipes and one of the founders of the Unix tradition, had this tosay at the time (i) Make each program do one thing well. To do a new job, build afresh

2013-08-09 12:39:30 1280

原创 变量,指针,指针变量

1.C语言中有一般变量,指针,指向指针的变量,总结一下           如右图:                      定义一个变量 int a = 2000;                      定义一个指针变量  int *p = &a;                      定义一个指向指针的变量 int **q = &p;

2013-08-08 12:09:04 1226

原创 linux shell学习记录(一)

linux的一般命令学习记录,如find,tr,xargs,文件操作等命令

2013-08-06 23:44:31 8673

原创 梦想的理解

在现在这个社会上,我们周围出现了无数的成功者,他们要么腰缠万贯,要么学识渊博,要么能说会到,要么威望波高,总之他们有你感觉几乎不能想想得到的财富、地位、学识、经验,成就等。这时,他们被作为我们的楷模,时常会发一些指导,指导当代的年轻人应该怎样怎样,不可否认,他们把他们的经验讲述了出来,让很多人学到了不少,少走了很多弯路,也陆陆续续的成长为他们一样的人,但独有一点,我不理解,

2013-08-04 23:37:35 1562

空空如也

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

TA关注的人

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