自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jason's blog

from SNUCSE

  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 Implement WalkSAT algorithm that solve the CNF Boolean formula

Goal Implement WalkSAT algorithm that solve the CNF Boolean formula.Implement Encoder that generate CNF notation for N-Queen for given Using both module to solve N-Queen problem. First, Wh

2010-03-27 21:15:00 1027

原创 Dijkstra Algorithm 算法详解

算法介绍 Dijkstra算法是由荷兰计算机科学家艾兹格·迪科斯彻发现的。算法解决的是有向图中最短路径问题。 举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离。 Dijkstra算法可以用来找到两个城市之间的最短路径。 Dijkstra算法的输入包含了一个有权重的有向图G,以及G中的一个来源顶点S。 我们以V表示G中所有顶点的集合。 每一个图中的边,都是两个顶点所形成

2009-12-12 20:42:00 2068

转载 一个很全面的Binary Search Tree java实现

<img id="_0_90_Open_Image" style="display: inline;" onclick="this.style.display=none; document.getElementById(_0_90_Open_Text).style.display=none; document.getElementById(_0_90_Closed_Image

2009-12-02 23:14:00 7900

转载 Huffman Tree

什么是Huffman coding?霍夫曼编码(Huffman Coding)是一种编码方式,是一种用于无损数据压缩算法。1952年,David A. Huffman在麻省理工攻读博士时所发明的,并发表于《一种构建极小多馀编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)一文。在电脑资料处理中,霍夫曼编码使用变

2009-11-23 15:03:00 2395 1

转载 Java 读取文件小例一则

import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class TestReadFile{ public static void main(String[] args)

2009-11-14 02:21:00 990

原创 二叉树的表示(基于一维数组)

 通常有三种方法表示二叉树(Binary Tree)1.基于数组,带有索引。可以表示任何二叉树。2.基于一维数组,通常用来表示完全二叉树(Complete Binary Tree)3.基于引用,类似链表。 以下是基于居于一维数组的JAVA CODE public class ArrayTree { private Object array[];

2009-11-10 20:27:00 4970

原创 Ocaml 入门整理2

Ocaml Standard Library 了解ModuleStructure = implementation of module signture = interface of module signture 有点类似Java 里面的Interface举个例子module type STACK =  sig    type a t             e

2009-11-09 17:11:00 1076

转载 一个关于计求质数的算法

public class Primes {public static void main(String args[]) {int maxValue = 50; // The maximum value to be checked.// Check all values from 2 to maxValue:OuterLoop:for(int i=2 ; i<=maxValue

2009-10-30 00:00:00 764

转载 TRIE树 介绍

Trie树就是字符树,其核心思想就是空间换时间。举个简单的例子。给你100000个长度不超过10的单词。对于每一个单词,我们要判断他出没出现过,如果出现了,第一次出现第几个位置。这题当然可以用hash来,但是我要介绍的是trie树。在某些方面它的用途更大。比如说对于某一个单词,我要询问它的前缀是否出现过。这样hash就不好搞了,而用trie还是很简单。现在回到例子中,如果我们用最傻的方法,对于每一

2009-10-26 15:51:00 1329

原创 Ocaml 的入门整理 1

最近开始接触Ocaml,一开始也是摸不着头脑。看着PPT,学习一下。 Ocaml 有几个比较显著的特征 1.Value 为中心    所有的一切都是value    一旦定义了就无法改变了 2.函数型的语言    函数也是value 3.具有严格的类型type   保障程序的安全 ML的有很多,比较有名的有Ocaml(INRIA,France) SML(Bell,lab&Prin

2009-10-25 02:11:00 15059

原创 三种方法求解Fibonacci(斐波那契)数列

三种方法求解Fibonacci(斐波那契)数列(一)  所谓Fibonacci数列是指这样一种数列,它的前两项均为1,从第三项开始各项均为前两项之和。用数学公式表示出来就是:1 (n=1,2)fib(n)=fib(n-1)+fib(n-2) (n>2)  可以证明斐波那契数列的通项公式为fib(n) = [(1+√5)/2]^n /√5 - [(1-√5)/2]^n /√5 (n=1,2,

2009-09-28 09:49:00 5997

转载 算法复杂度

1.时间复杂度(1)时间频度一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。(2)时间复杂度在刚才提到的时间频

2009-09-28 09:47:00 572

转载 时间复杂度和空间复杂度

空间复杂度:是程序运行所以需要的额外消耗存储空间,一般的递归算法就要有o(n)的空间复杂度了,简单说就是递归集算时通常是反复调用同一个方法,递归n次,就需要n个空间。时间复杂度:一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,

2009-09-28 09:46:00 523

原创 从JavaCC入手

这个学期上数据库课,最后的project就是自己写一个数据库。整个PROJECT分为3各阶段这次是第一个阶段,实现SQL parser要求是1.Parses SQL statements such as CREATE TABLE, DROP TABLE, DECS, SHOWTABLES, INSERT, UPDATA, DELETE, SELECT 2.Parses SQL st

2009-03-22 19:09:00 1270

原创 DISCUZ代码分析

logging.php //定义操作页面define(CURscrīpt, logging);//包含公共文件require_once ./include/common.inc.php;//包含misc函数文件require_once DISCUZ_ROOT../include/misc.func.php;//判断动作//注销if($ac

2009-02-04 18:38:00 3711

原创 改造自discuz的mysql查询类

/**  * mysql查询类  *  */  class dbQuery {      /**      * 查询总次数      *      * @var int      */      var $querynum = 0;      /**      * 连接句柄      *      * @var object   

2009-02-04 18:20:00 957

转载 Writing device drivers in Linux: A brief tutorial

内容比较多,就不转了http://www.freesoftwaremagazine.com/articles/drivers_linux附加中文知识准备要开发Linux设备驱动,需要掌握以下知识:• C编程 需要掌握深入一些的C语言知识,比如,指针的使用,位处理函数,等。• 微处理器编程 需要理解微机的内部工作原理:存贮器地址,中断,等。这些内容对一个汇编程序员应该比较熟悉。Linux下有好几种不

2008-11-24 22:05:00 883

转载 ssize_t and size_t

http://www.delorie.com/gnu/docs/glibc/libc_239.htmlData Type: ssize_t   This data type is used to represent the sizes of blocks that can beread or written in a single operation. It is similar to s

2008-11-24 21:08:00 541

原创 Recursive Copy Command

Recursive Copy Command(CP command with -R argument) /*Course: system programming  * *2008-11-24* */#include #include #include #include #include #include #include #include #define BUFFER_SIZE 1048576/*

2008-11-24 16:04:00 579

转载 A tiny shell program with job control

那天被布置了个作业,写SHELL研究了老半天,下面这个是作业的标准答案/* * tsh - A tiny shell program with job control *   *  Clara Raubertas * clara1 */#include #include #include #include #include #include #include #include #include /

2008-11-24 15:57:00 3935 1

原创 学习assembly language之前理顺一下思路

 “在学习真正的汇编语言之前,必须理解INTEL8086处理器系列的基本机构,否则机器指令讲没有任何意义。”  INTEL系列CPU一般都归为冯.诺依曼式机器。其基本模块是:CPU,储存器和输入输出设备。  CPU与储存器和I/O设备之间的通信方法是向地址总线发送一个数值来选取一个储存单元或者I/O设备,他们都有唯一的二进制地址。因此,CPU,I/O以及储存设备都将通过数据放到数据总线上来传递彼此

2008-10-05 19:25:00 987

转载 难得的p2p的开源项目[转]

 不是专业的评价,就像读书笔记吧:1、Azureus(http://azureus.sourceforge.net):这是java版的betorrent,最新版本2.4.0.2。从网上直接下载的源代码是没法构建的,所用的库没有在包里面。可以到:http://azureus.cvs.sourceforge.net/azureus/这个地方去找。对我们研究的意义主要在于参考其算法。2、Shareaza

2008-09-21 23:18:00 15441 1

转载 带权图最短路径 Dijkstra 算法和实现

单源最短路径问题 (Single-Source Shortest-PathsProblem)     单源最短路径问题:已知有向带权图(简称有向网)G=(V,E),找出从某个源点s∈V到V中其余各顶点的最短路径。

2008-06-13 00:13:00 5289 1

转载 线程和进程的区别

轉自:http://blog.csdn.net/jery_lee/archive/2004/10/15/137225.aspx多线程共存于应用程序中是现代操作系统中的基本特征和重要标志。用过UNIX操作系统的读者知道进程,在UNIX操作系统中,每个应用程序的执行都 在操作系统内核中登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配,但进程和线程有什么区别呢?

2008-06-12 23:15:00 1096 2

转载 跟我一起写 Makefile

跟我一起写 Makefile 陈皓概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些 Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多 的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编

2008-06-12 23:08:00 420

转载 Linux-C-Socket编程

什么是Socket   Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。    Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数

2008-06-11 19:01:00 823

转载 sprintf,你知道多少?

选自《CSDN 社区电子杂志——C/C++杂志》http://emag.csdn.net 2005 年1 月 总第1 期 - 93 -本文作者:steedhorse(晨星)printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf 了解多吗?在将各种类型的数据构造成字符串时,

2008-06-09 14:42:00 429

转载 fork的精彩讨论整理

第一帖 问题帖#include ;#include ;main (){        pid_t pid;        pid=fork();        if (pid                 printf("error in fork!");        else if (pid == 0)                printf("i am the child proc

2008-06-07 21:52:00 415

转载 Pthread 与 Linux

Pthread 与 LinuxPthread本来是一套用户级线程库, 但在Linux上实现时, 却使用了内核级线程来完成, 这样的好处是, 可以充分的提高程序的并发性, 线程也可以象以前一样调用read这样的函数, 而不必担心会由于阻赛影响其它的线程的运行. 但这样一来, linux的线程就不是标准的了.    下面结合Linux上的实现来谈一谈Pthread.一 基本概念------

2008-06-02 18:50:00 506

MIPS Assembly quicksort 源码

自己做作业时写的,希望对学习MIPS Assembly 的朋友有所帮助

2009-09-25

空空如也

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

TA关注的人

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