`
fanzy618
  • 浏览: 19842 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
版权为 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 ...
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: ...
用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 ...

素数测试

给定一个数字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%的可能性是素数。 我们 ...

称苹果问题

问题: 10个箱子,每个箱子10个苹果,其中一个箱子的苹果是9两/个,其他的都是1斤/个。要求利用一个秤,只秤一次,找出那个装9两/个的箱子。 分析: 注意到题目中提供的是秤而不是天平。而且苹果的重量已经明确的给出了。 因为只能称一次,所以一定是通过这个重量来推断出是哪个箱子。 为了区分不同的箱子,从不同箱子里取出的苹果数也必定不同。 想到这里答案就已经呼之欲出了。 解答: 为十个箱子从1到10编上号。 从1号箱子中取出1个苹果,2号取出两个,以此类推。 总共取出55个苹果(1+2+3+...+10) 称这55个苹果的重量。 因为有9两/个的苹果存在,所以总重量必然小于55斤。 和55斤比 ...

python的编码

文件的编码 在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只 ...
题目: 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先生想了一想之后,就正确地推出这张牌是什么牌。 请问:这张牌是什么牌? 分析: 所 ...
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; } 非常简单,但是每个循环需要比较两次。 通过在尾部 ...

旋转一个矩阵

zip(*matrix)
Global site tag (gtag.js) - Google Analytics