- 浏览: 20285 次
- 性别:
- 来自: 北京
最新评论
-
zxzheaven:
如果有注释就更好了,这个适用于哪些方面?
用sqlite3实现稀疏矩阵 -
mathgl:
python 不是有个 scipy的东西么。。怎么还要劳烦sq ...
用sqlite3实现稀疏矩阵 -
fanzy618:
主要是为了做乘法的时候比较方便。其他的不管怎么保存都需要反复遍 ...
用sqlite3实现稀疏矩阵 -
phyeas:
为啥要把数据保存到sqlite?
用sqlite3实现稀疏矩阵
文章列表
版权为 win_hate 所有, 转载请保留作者名字
我这段时间要把以前的一个 x86_32 的 linux 程序移植到 x86_64(AMD) 的 linux 环境里. 由于写的是数学算法, 64 与 32 位有很大不同, 代码实际上要重写. 看了点资料后, 觉得 AMD64 的扩展于以前 16 到 32 位的扩展很类似, e**, 扩展为 r**, 此外还多了8个通用寄存器 r8~r15.指令格式与32位的极为相似. 我觉得比较容易, 所以没再仔细看, 就开始动手写了.
我的程序由若干个汇编模块于与若干个c模块构成, 很多c模块要调用汇编模块. 作为试验, 我先写了个简单的汇编函数, 然 ...
题目如下:
Problem
After years of study, scientists at Google Labs have discovered an alien language transmitted from a faraway planet. The alien language is very unique in that every word consists of exactly L lowercase letters. Also, there are exactly D words in this language.
Once the dictionary of all ...
- 2009-09-16 16:14
- 浏览 1362
- 评论(0)
1.1 算法 Alogrithm
算法E(欧几里德算法)求两个数的最大公约数
//greatest common divisor
int gcd(int a, int b)
{
int r;
assert(a * b != 0);
r = a % b;
while(r != 0) {
a = b;
b = r;
r = a % b;
}
return b;
}
算法的特性:
1)有穷性
2)确定性
3)输入
4)输出
5)可行性
“如果N是下一期彩票的中奖号码,则去投注站买10注N” 就是一个没有可行性的代表
习题3
算法F:
...
- 2009-08-04 16:34
- 浏览 783
- 评论(0)
用python实现了一个稀疏矩阵。
基本思想是3元组(行坐标、列坐标和值)描述矩阵。
将3元组保存在sqlite3的内存表里。
代码如下:
import sqlite3
class SparseMatrix:
def __init__(self, row_count=2147483647, column_count=2147483647):
self.db = sqlite3.connect(":memory:")
self.db.execute("CREATE TABLE 'matrix' ('x' integ ...
python的SocketServer模块提供了一个开发socket server的捷径。但是其自带的异步handler ThreadingMixIn每次处理请求是都会产生一个新的线程,在负载较重的时候会有一些问题。需要一个使用线程池的TCPServer.
具体的代码如下:
from threading import Thread
from SocketServer import ThreadingMixIn, TCPServer, BaseRequestHandler
from Queue import Queue, Empty
class PooledThreadTCPSer ...
- 2009-07-29 11:32
- 浏览 2497
- 评论(0)
给定一个数字n,检测n是否是一个素数。
最简单的方法就是尝试从2到 n的平方根 是否整除N。
def isPrime(n):
for i in range(2, int(pow(n, 0.5))):
if n % i == 0:
return False
return True
另一种方法就是米勒-拉宾素数测试:
一个数字n为素数的必要条件是对于任意a<n,都有 ( a^(n-1) ) mod n = 1
需要注意的是这一个必要条件。当n是素数的时候等式成立。
但是当等式成立的时候 n 有75%的可能性是素数。
我们 ...
- 2009-06-25 17:13
- 浏览 1366
- 评论(0)
问题:
10个箱子,每个箱子10个苹果,其中一个箱子的苹果是9两/个,其他的都是1斤/个。要求利用一个秤,只秤一次,找出那个装9两/个的箱子。
分析:
注意到题目中提供的是秤而不是天平。而且苹果的重量已经明确的给出了。
因为只能称一次,所以一定是通过这个重量来推断出是哪个箱子。
为了区分不同的箱子,从不同箱子里取出的苹果数也必定不同。
想到这里答案就已经呼之欲出了。
解答:
为十个箱子从1到10编上号。
从1号箱子中取出1个苹果,2号取出两个,以此类推。
总共取出55个苹果(1+2+3+...+10)
称这55个苹果的重量。
因为有9两/个的苹果存在,所以总重量必然小于55斤。
和55斤比 ...
- 2009-06-25 13:32
- 浏览 980
- 评论(0)
文件的编码
在py文件的头部用“# -*- coding:TYPE -*-”来标记py文件的编码
如
# -*- coding:gbk -*-
就表示该文件中的所有字符都是gbk编码的。但是该标记不影响python的输入输出的编码。
字符串的编码
在python(2.X版)内部有两种字符串
str和unicode
str不使用任何编码,不可显示的字符显示为'\xXX',XX为在字符的16进制值
unicode使用的当然是unicode码。它的字符显示为'\uXXXX'。
str一个字符一个字节,unicode一个字符为两个字节。
str可以保存任何数据,甚至是2进制数据。但是unicode只 ...
- 2009-06-23 15:46
- 浏览 839
- 评论(0)
题目:
S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方块A、5。约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉 P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q
先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?
于是,S先生听到如下的对话:
P先生:我不知道这张牌。 (1)
Q先生:我知道你不知道这张牌。(2)
P先生:现在我知道这张牌了。 (3)
Q先生:我也知道了。 (4)
听罢以上的对话,S先生想了一想之后,就正确地推出这张牌是什么牌。
请问:这张牌是什么牌?
分析:
所 ...
- 2009-06-23 14:53
- 浏览 2872
- 评论(0)
TAOCP第三卷搜索算法中最先讲的就是顺序搜索。
顺序搜索的优点是足够的简单,在数据量足够小的时候速度最快。
而且在无序数据集的时候顺序搜索是唯一可行的方法。
首先是6.1节的程序S
int search(int array[],int count, int n) {
int i = 0;
for(; i < count; i++) {
if(array[i] == n) {
return i;
}
}
return -1;
}
非常简单,但是每个循环需要比较两次。
通过在尾部 ...
- 2009-06-22 17:54
- 浏览 1023
- 评论(0)