代码改变世界

随笔档案-2011年08月

java多线程总结

2011-08-28 20:08 by Rollen Holt, 518165 阅读, 收藏, 编辑
摘要: 以前没有写笔记的习惯,现在慢慢的发现及时总结是多么的重要了,呵呵。虽然才大二,但是也快要毕业了,要加油了。这一篇文章主要关于java多线程,主要还是以例子来驱动的。因为讲解多线程的书籍和文章已经很多了,所以我也不好意思多说,呵呵、大家可以去参考一些那些书籍。我这个文章主要关于实际的一些问题。同时也算是我以后复习的资料吧,。呵呵大家多多指教。同时希望多结交一些技术上的朋友。谢谢。-------------------------------------------------------------------------------------------------------------- 阅读全文

棋盘覆盖--递归分治java实现

2011-08-28 12:11 by Rollen Holt, 6480 阅读, 收藏, 编辑
摘要: 在一个2^k * 2^k个方格组成的棋盘中,有一个方格与其它的不同,若使用以下四种L型骨牌覆盖除这个特殊方格的其它方格,如何覆盖。 四各L型骨牌如下图1 图1棋盘中的特殊方格如图2图2 实现的基本原理是将2^k * 2^k的棋盘分成四块2^(k - 1) * 2^(k - 1)的子棋盘,特殊方格一定在其中的一个子棋盘中,如果特殊方格在某一个子棋盘中,继续递归处理这个子棋盘,直到这个子棋盘中只有一个方格为止如果特殊方格不在某一个子棋盘中,将这个子棋盘中的相应的位置设为骨牌号,将这个无特殊方格的了棋盘转换为有特殊方格的子棋盘,然后再递归处理这个子棋盘。以上原理如图3所示。图3 将棋盘保存在一个二. 阅读全文

Strassen矩阵乘法

2011-08-27 23:26 by Rollen Holt, 8101 阅读, 收藏, 编辑
摘要: Strassen矩阵乘法矩阵乘法是线性代数中最常见的运算之一,它在数值计算中有广泛的应用。若A和B是2个n×n的矩阵,则它们的乘积C=AB同样是一个n×n的矩阵。A和B的乘积矩阵C中的元素C[i,j]定义为: 若依此定义来计算A和B的乘积矩阵C,则每计算C的一个元素C[i,j],需要做n个乘法和n-1次加法。因此,求出矩阵C的n2个元素所需的计算时间为0(n3)。60年代末,Strassen采用了类似于在大整数乘法中用过的分治技术,将计算2个n阶矩阵乘积所需的计算时间改进到O(nlog7)=O(n2.18)。首先,我们还是需要假设n是2的幂。将矩阵A,B和C中每一矩阵都分块 阅读全文

递归分治算法求解--整数划分问题

2011-08-27 19:03 by Rollen Holt, 4239 阅读, 收藏, 编辑
摘要: 【问题描述】:将正整数n表示为一系列整数的和:n=N1+N2+N3+…Nn 其中(N1>=N2>=N3>=…Nn)正整数n的这种表示叫做正整数n的划分,正整数n的不同的划分的个数叫做n的划分数。记做p(n)。比如对于6:6;5+14+2;4+113+3;3+2+1;3+1+1+12+2+2;2+2+1+1;2+1+1+1+11+1+1+1+1+1+1【算法设计】:在正整数n的所有划分中,将最大加数N1不大于m的划分的个数记做divide(n,m),建立递关系式:1):当最大加数不大于1的时候,只有一种划分形式,也就是1+1+1+1....2):最大加数实际上不可能大于n,所以 阅读全文

递归分治算法计算全排列

2011-08-26 23:25 by Rollen Holt, 1044 阅读, 收藏, 编辑
摘要: 其实计算全排列本人所知有字典序法,还有一个在组合数学中学到的,忘记了,呵呵。不好意思。大家可以Google一下。下面这个例子是我练习递归分治算法的时候设计的,呵呵,大家指针批评。/** * @author Rollen-Holt * 递归分治算法计算全排列 * */public class Perm{ public static void main(String[] args){ int[] data={1,2,3,4}; perm(data,0,data.length-1); } /** * 产生data[start:end]的所有排列 * */ public static void... 阅读全文

java写的多项式乘法

2011-08-24 19:54 by Rollen Holt, 2899 阅读, 收藏, 编辑
摘要: 因为项目需要用到多项式的乘法,所以特写了一些,大家可以围观批评。class test{ test() { } test(int n, double x){ this.n=n; this.x=x; xishu=new int[n]; } public static double plyv(int n,int xishu[], double x2){ double resault=xishu[n-1]; for(int i=n-2;i>=0;i--){ resault=resault*x2+xishu[i]; } return resault; } public stat... 阅读全文

java写的回溯法求迷宫问题

2011-08-23 20:42 by Rollen Holt, 11691 阅读, 收藏, 编辑
摘要: 问题描述:[实验目的]综合运用数组、递归等数据结构知识,掌握、提高分析、设计、实现及测试程序的综合能力。[实验内容及要求]以一个M×N的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。(1)根据二维数组,输出迷宫的图形。(2)探索迷宫的四个方向:RIGHT为向右,DOWN向下,LEFT向左,UP向上,输出从入口到出口的行走路径。[测试数据]左上角(1,1)为入口,右下角(8,9)为出口。0010001000100010001011010111001000010000010001010111100111 阅读全文

java中的System类的一些应用和日期的操作实例

2011-08-22 22:39 by Rollen Holt, 1518 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt 计算一个程序的执行时间 */class hello{ public static void main(String[] args){ long startTime = System.currentTimeMillis(); for(int i = 0; i < 1000000; ++i) { String str=new String("dad"); } long endTime=System.currentTimeMillis(); System.out.println("程序的运行时间为: " 阅读全文

java小例子和国际化

2011-08-21 23:22 by Rollen Holt, 5884 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt JVM虚拟机的内存信息 */class hello{ public static void main(String[] args){ Runtime run = Runtime.getRuntime(); System.out.println("JVM的最大内存量为: " + run.maxMemory()); System.out.println("JVM的空闲内存量为: " + run.freeMemory()); for(int i = 0; i < 100000000; ++i) { St 阅读全文

java中的泛型的一些常见例子

2011-08-21 09:45 by Rollen Holt, 11920 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt 使用泛型 */class hello<T, V> { hello(){ } public T getName(){ return name; } public void setName(T name){ this.name = name; } public V getAge(){ return age; } public void setAge(V age){ this.age = age; } private T name; private V age; public static void main(String[] args 阅读全文

一些java小代码

2011-08-18 22:54 by Rollen Holt, 2259 阅读, 收藏, 编辑
摘要: 主要是温习上学期的基础知识,不能前学后忘呵呵、创建一个简单的窗体1)import java.awt.*;import javax.swing.*;class hello extends JFrame { hello(){ setTitle("hello"); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args){ new hello(); }}当然也可以使用另外一种不是很推荐的方法:import java.awt.* 阅读全文

设计模式---适配器模式

2011-08-18 17:29 by Rollen Holt, 1363 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt 设计模式之 適配器模式 */interface window{ void open(); void close(); void activated(); void iconified();}abstract class WindowAdapter{ public void open(){ } public void close(){ } public void activated(){ } public void iconified(){ }}class AdapterDemo extends WindowAdapter{ public vo 阅读全文

设计模式---单例模式

2011-08-18 17:13 by Rollen Holt, 1516 阅读, 收藏, 编辑
摘要: /** * @version 1.0 * @author Rollen-Holt * 设计模式之 ---单例模式 * */class hello{ private hello(){ System.out.print("hello"); } public static hello getHello(){ return new hello(); } public static void main(String[] a0){ hello.getHello(); }} 阅读全文

设计模式---工厂模式

2011-08-18 17:10 by Rollen Holt, 8814 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt 设计模式之 工厂模式 */interface fruit{ public abstract void eat();}class Apple implements fruit{ public void eat(){ System.out.println("Apple"); }}class Orange implements fruit{ public void eat(){ System.out.println("Orange"); }}// 构造工厂类// 也就是说以后如果我们在添加其他的实例的时候只需 阅读全文

设计模式---代理模式

2011-08-18 17:09 by Rollen Holt, 30633 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt 设计模式之 代理模式 */interface NetWork{ public abstract void browser();}/** * Real 类代表用户上网的实际动作,比如查看网页 * */class Real implements NetWork{ public void browser(){ System.out.println("上网浏览信息"); }}/** * 此处使用代理类来完成中间代理的工作,屏蔽实现代理的细节 * */class proxy implements NetWork{ private N 阅读全文

python多线程学习

2011-08-09 09:17 by Rollen Holt, 5287 阅读, 收藏, 编辑
摘要: 今天在学习尝试学习python多线程的时候,突然发现自己一直对super的用法不是很清楚,所以先总结一些遇到的问题。当我尝试编写下面的代码的时候:class A(): def __init__( self ): print "A"class B( A ): def __init__( self ): super( B, self ).__init__( )# A.__init__( self ) print "B"b = B()出现:super( B, self ).__init__()TypeError: must be type, not class 阅读全文

python标准库学习3

2011-08-08 15:53 by Rollen Holt, 1242 阅读, 收藏, 编辑
摘要: import operatorsequence = 1, 2, 4print "add", "=>", reduce(operator.add, sequence)print "sub", "=>", reduce(operator.sub, sequence)print "mul", "=>", reduce(operator.mul, sequence)print "concat", "=>", operat 阅读全文

python标准库学习2

2011-08-08 13:18 by Rollen Holt, 840 阅读, 收藏, 编辑
摘要: 列出指定目录中的所有文件:import osfor file in os.listdir( "../src" ): print file获得,修改当前的目录import os# where are we?cwd = os.getcwd()print "1", cwd# go downos.chdir( "../" )print "2", os.getcwd()# go back upos.chdir( os.pardir )print "3", os.getcwd()创建目录,删除目录impor 阅读全文

python标准库学习1

2011-08-08 00:26 by Rollen Holt, 1522 阅读, 收藏, 编辑
摘要: 本系列是本人学习python标准库的一些笔记,呵呵,此处由于时间的关系,只给出代码,至于运行结果我没有放上去,大家见谅。因为那个太麻烦了。#-----使用字典或者元祖中的参数调用元素def function( a, b ): print a, bapply( function, ( 1, 2 ) )apply( function, ( 1 , ), {"b":2} ) #注意这里的","apply( function, (), {"a":1, "b":2} )#apply 函数的一个常见用法是把构造函数参数从子类传 阅读全文

windows下面,MySQLdb的安装出错问题以及解决办法

2011-08-06 20:14 by Rollen Holt, 3654 阅读, 收藏, 编辑
摘要: 今天在电脑上安装MySQLdb的时候,出现错误,是什么导入setuptools错误,然后又去下载了那个包,安装之后,还是错误,这次的错误是:[b]C:\Python25\MySQL-python-1.2.3c1>setup.py build[/b]Traceback (most recent call last): File "C:\Python25\MySQL-python-1.2.3c1\setup.py", line 15, in <module> metadata, options = get_config() File "C:\Pyth 阅读全文

python的静态方法

2011-08-05 13:20 by Rollen Holt, 767 阅读, 收藏, 编辑
摘要: staticmethod Found at: __builtin__staticmethod(function) -> method Convert a function to be a static method. A static method does not receive an implicit first argument. To declare a static method, use this idiom: class C: def f(arg1, arg2, ...): ... f = staticmethod(f) It can be called either on 阅读全文

python中的继承和抽象类的实现

2011-08-05 11:31 by Rollen Holt, 2767 阅读, 收藏, 编辑
摘要: #!/usr/local/bin/python# Fig 9.9: fig09_09.py# Creating a class hierarchy with an abstract base class.class Employee: """Abstract base class Employee""" def __init__(self, first, last): """Employee constructor, takes first name and last name. NOTE: Cannot 阅读全文

python实现的列表操作

2011-08-04 19:09 by Rollen Holt, 1656 阅读, 收藏, 编辑
摘要: 纯属练手呵呵。class Node: """Single node in a data structure""" def __init__(self, data): """Node constructor""" self._data = data self._nextNode = None def __str__(self): """Node data representation""" return str(sel 阅读全文

python的图形化界面(1)

2011-08-04 15:37 by Rollen Holt, 10005 阅读, 收藏, 编辑
摘要: 今天学习了python的图形化界面。遇到的问题,就是导入Tklinter类的时候,出现了错误,提示说模块不存在,但是最后在文件的头部添加一行代码之后解决:#! /usr/bin/env python 先创建一个空的界面窗口吧:#! /usr/bin/env python#coding=utf-8from Tkinter import *class LabelDemo( Frame ): """Demonstrate Labels""" def __init__( self ): """Create thr 阅读全文

Python中使用中文

2011-08-01 15:06 by Rollen Holt, 88936 阅读, 收藏, 编辑
摘要: python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。先来看看python的版本:>>> import sys>>> sys.version'2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]'(一)用记事本创建一个文件ChineseTest.py,默认ANSI:s = "中文"print s测试一下瞧瞧:E:/ 阅读全文

(转载)python IDE比较与推荐 本人强烈推荐ulipad

2011-08-01 10:45 by Rollen Holt, 7495 阅读, 收藏, 编辑
摘要: 这个比挺不错的,我最近写dasblog到WordPress的迁移程序,就是用的UliPad,是看了这篇文章才尝试UliPad的,发现是很不错的IDE。发信人: RunningOn (挥着翅膀的男孩), 信区: Python标 题: python IDE比较与推荐发信站: 水木社区 (Mon Jul 16 19:34:58 2007), 转信我先给一个初步的表格吧,大家如果有什么意见,或有补充,欢迎提出。有些我没有用过,先不写了。大家讨论并修改后,我再加精置底,希望大家多多出力。以下是我使用过的python IDE:除了VisualPython只支持Windows,其它都至少支持Win/Linu 阅读全文