摘要: 最近看了一些递归的例子,发现调用递归之前的语句和递归之后的语句执行顺序是正好相反的,这是给我的最大感受,具体看如下例子/*递归例子*/#include<stdio.h>void up_and_down(int);int main(void){ up_and_down(1); return 0;}void up_and_down(int n){printf("Level %d:n location %p\n",n,&n); /* 1 */if(n<4)up_and_down(n+1);printf("Level %d:n location 阅读全文
posted @ 2013-04-23 17:47 l_k_y 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 归并排序:是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。排序基本思想是: 将序列每相邻两个数字进行归并操作(merge),形成floor(n/2)个序列,排序后每个序列包含两个元素,将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素,重复步骤2,直到所有元素排序完毕 速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列归并排序比堆排序稍微快一点,但是需要比堆排序多一倍的内存空间,因为它需要一个额外的数组稳定 时间复杂度O(nlogn) n大时较好 Ja... 阅读全文
posted @ 2013-04-23 13:40 l_k_y 阅读(143) 评论(0) 推荐(0) 编辑
摘要: (转)c++C++数据结构二叉树的非递归遍历二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍历前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。1.递归实现void preOrder1(BinTree *root) //递归前序遍历 { if(root!=NULL 阅读全文
posted @ 2013-04-12 00:54 l_k_y 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图Venn diagrams解释了SQL的Join。我觉得清楚易懂,转过来。假设我们有两张表。Table A是左边的表。Table B是右边的表。其各有四条记录,其中有两条记录是相同的,如下所示:id name id name-- ---- -- ----1 Pirate ... 阅读全文
posted @ 2013-04-05 00:43 l_k_y 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 随着手机的发展,流量的消耗也是大大地增加。虽然很多手机支持wifi,但是不加密或者知道密码的wifi热点却寥寥无几。笔记本的无线网卡显出神通了。那么,如何在笔记本上建立wifi热点呢?工具/原料一台可以正常工作的电脑装有无线网卡方法/步骤首先确认你的无线网卡可以使用。在开始菜单中依次找到“所有程序”--“附件”--“命令提示符”,右键“以管理员身份运行”。如下图所示:在“命令提示符”里输入“netsh wlan set hostednetwork mode=allow ssid=Test key=0123456789”,回车,系统会自动虚拟出一个wifi热点,如下图所示:此时,打开网络和共享中 阅读全文
posted @ 2013-03-03 19:49 l_k_y 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 非线性流水性调度问题的研究问题的提出在解释问题之前,先介绍如下几个概念。流水线技术:将一个重复的时序过程分解成为若干个子过程,而每一个子过程都可有效地在其专有功能段上与其他子过程同时执行的技术。流水线可按不同的观点进行分类,比如根据流水线中是否有反馈回路可分为线性流水性和非线性流水性。线性流水线:流水线的各段串行连接,没有反馈回路。图1-1就是一种简单的线性流水线。图1-1 线性流水线非线性流水线:非线性流水线不同于线性流水线,线性流水线是一段接一段地往后走,它的连接关系是唯一的。非线性流水线中某一段或某些段可能有反馈信号,这就是线性流水线和非线性流水线的区别。一个典型的非线性流水线连接图如图 阅读全文
posted @ 2012-11-28 00:16 l_k_y 阅读(3971) 评论(0) 推荐(0) 编辑
摘要: 用gedit编辑hello.c文件:// hello.c#include<linux/init.h> #include<linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){printk(KERN_ALERT "Hello,world\n");return 0;}static void hello_exit(void){printk(KERN_ALERT "Goodbye, cruel world\n");}modul 阅读全文
posted @ 2012-11-16 20:09 l_k_y 阅读(279) 评论(0) 推荐(0) 编辑
摘要: ubuntu8.04安装最新版本的firefox 因为几点原因,我选择了在笔记本(07年的老古董)上用ubuntu8.04: 1、最近的12.04用了unity实在让我的老古董跑不动了,跑起来是相当慢了,有点受不了于是想到了换低版本 2、虽然8.04停止支持了,10.04比它好多了,但为了怀旧我决定用8.04,这可是我接触的第一个ubuntu版本 8.04停止支持了,所以很多的软件都没法用到最新版本,比如firefox,系统带的经过更新也还是3.6版本,太古老了,我想用最新的16,于是有了下文: 1、首先去firefox官网下载最新的firefox linux平台包,下载后得到Fir... 阅读全文
posted @ 2012-11-16 12:53 l_k_y 阅读(385) 评论(0) 推荐(0) 编辑
摘要: ubuntu下MP3乱码处理方法 2009-05-26 15:32:02|分类: Ubuntu实用技巧 |字号订阅只需要把mp3标签里面用gbk、gb18030、big5等编码存储的中文内容修改为Unicode编码,那么基本上所有Linux下的播放器都能正常识别mp3标签了。关于mp3编码的转换,介绍一个工具----Mutagen,假如你安装了Quod Libet,那么这个包已经安装上去了。如果没有,执行下列命令就可以了。 sudo apt-get install python-mutagen 工具的使用方法 #转换mp3文件所在的目录下,执行: mid3iconv -e gb... 阅读全文
posted @ 2012-11-09 18:30 l_k_y 阅读(395) 评论(0) 推荐(0) 编辑
摘要: java 泛型回忆录关于JAVA泛型的学习小结:之前看C++的模版,里面使用的模版类型和实例化的模版类型理解起来还是比较简单地,就是一个“替代”过程,理解起来是比较顺畅地模版类型和一个具体的类型在模版内的使用并没有多大的区别。但是JAVA1.5的泛型(GJ)它在使用上和模版是不大相同地,就通过我的笔记大家来好好复习下。(端午节无聊看地,T _T) 1 类的泛型。就是在类的基础上对未知类型的一种约束。使用起来和模版不同的地方主要有: A 这种约束不会使用在static的类型上。 B 不能在基本类型实例化泛型参数。 C 不能在new,instanceof,数据转换中使用中外露类型参数。 ... 阅读全文
posted @ 2012-10-22 18:01 l_k_y 阅读(180) 评论(0) 推荐(0) 编辑