小编thr*_*thr的帖子

访问对象内存地址

当您object.__repr__()在Python中调用该方法时,您会得到类似这样的内容:

<__main__.Test object at 0x2aba1c0cf890> 
Run Code Online (Sandbox Code Playgroud)

如果你超载__repr__(),有没有办法得到一个内存地址,除了调用super(Class, obj).__repr__()和重新出现之外?

python object repr memory-address

154
推荐指数
6
解决办法
17万
查看次数

在C#/ .NET中合并两个图像

简单的想法:我有两个想要合并的图像,一个是500x500,中间是透明的,另一个是150x150.

基本思路是:创建一个500x500的空白画布,将150x150图像放在空白画布的中间,然后将500x500图像复制到其上,使透明的中间部分允许150x150闪耀.

我知道如何在Java,PHP和Python中实现它......我只是不知道在C#中使用哪些对象/类,将图像复制到另一个中的快速示例就足够了.

.net c# image

82
推荐指数
3
解决办法
13万
查看次数


B树比AVL或RedBlack-Tree更快?

我知道性能永远不会是黑白的,通常一个实现在X情况下更快,在Y情况下更慢等等,但一般来说 - B树比AVL或RedBlack-Trees快吗?它们比AVL树(甚至可能是RedBlack-trees?)要复杂得多,但它们更快(它们的复杂性是否得到回报)?

编辑:我还想补充一点,如果它们比等效的AVL/RedBlack树更快(就节点/内容而言) - 为什么它们更快?

algorithm math binary-tree data-structures

64
推荐指数
5
解决办法
3万
查看次数

javascript字符串类型和字符串对象之间的区别?

我一直在搞乱ECMA-262标准(ECMAScript语言规范,第3版,如果它对此很重要 - 我没有发现第3版和第5版字符串类型/字符串对象之间有任何区别).

有一件事令我感到困惑:String Type和String Object之间的区别.是的,我知道String Type是一个16位UTF-16单元序列,而String对象是一个内置对象,其内部Class属性设置为"String",其内部Value属性设置为字符串类型的值.

但是阅读规范,字符串类型似乎没有暴露任何方法; 也就是说,它只是一个没有任何附加属性的值.拿这个代码,一切都完全符合预期:

document.writeln(typeof "foo"); // 'string'
document.writeln(typeof new String("foo")); // 'object'
Run Code Online (Sandbox Code Playgroud)

第一种类型是实际的String Type,第二种是Object Type(它是String类的对象,但它的数据类型是object).但是,看看这个:

"foo".charAt(0);

fooStrObj = new String("Foo");
fooStrObj.charAt(0);
Run Code Online (Sandbox Code Playgroud)

它们似乎都暴露了相同的功能,但ECMA-262标准中定义的字符串类型没有任何功能; 它公开的所有函数都来自String.prototype对象(我看不到对String Type的神奇地暴露了ECMA-262标准中String.prototype对象的所有属性和函数这一事实的引用).那么String Type类型的值是否会自动提升为String对象,并将原始String Type值作为其内部Value属性?

如果他们被完全相同(这似乎是他们所有的意图和目的),为什么有两种不同的方式来表示一个字符串

javascript

64
推荐指数
2
解决办法
1万
查看次数

在二叉搜索树中计算高度的最佳方法是什么?(平衡AVL树)

我正在寻找计算AVL树中节点平衡的最佳方法.我以为我有它工作,但经过一些繁重的插入/更新,我可以看到它的工作正常(根本没有).

这是一个由两部分组成的问题,第一部分是如何计算子树的高度,我知道定义"节点的高度是从该节点到叶子的最长向下路径的长度".而我理解它,但我没有实现它.并且为了进一步混淆我这个引用可以在维基百科的树高上找到"传统上,值-1对应于没有节点的子树,而零对应于具有一个节点的子树."

而第二部分是得到一个子树的平衡因素,AVL树,我没有问题理解概念,"让你的高度LR子树和减去RL".这被定义为这样的事情:BALANCE = NODE[L][HEIGHT] - NODE[R][HEIGT]

在维基百科上阅读在描述插入到AVL树中的前几行中说:"如果平衡因子变为-1,0或1,那么树仍然是AVL形式,并且不需要旋转."

然后继续说,"如果平衡因子变为2或-2,那么植根于此节点的树是不平衡的,并且需要树旋转.最多需要单次或双次旋转来平衡树." - 我没有抓麻烦.

但是(是的,总有一个但是).

这是令人困惑的地方,文本说明"如果R的平衡因子为1,则意味着插入发生在该节点的(外部)右侧,需要左旋转".但是从理解的角度来看,正如我所引用的那样,如果平衡因素在[-1, 1]那之内,那么就没有必要进行平衡了吗?

我觉得我是如此接近抓概念,我已经得到了树旋转下来,实现正常的二叉搜索树,抓AVL树的边缘,但只是似乎缺少必要的顿悟.

编辑:代码示例比学术公式更受欢迎,因为我总是更容易在代码中掌握一些东西,但是非常感谢任何帮助.

编辑:我希望我能将所有答案都标记为"已接受",但对我而言,NIck的答案是第一个让我走"aha"的答案.

algorithm binary-tree avl-tree data-structures tree-balancing

60
推荐指数
3
解决办法
14万
查看次数

Java中的异步IO?

除了java.nio之外,java中有哪些async io(基于套接字)的选项?java.nio也使用backround中的线程(因为我认为.NET的async-socket-library确实如此,可能它已经被更改了)或者使用正确的select调用它是"真正的"async io吗?

java sockets networking asynchronous

57
推荐指数
5
解决办法
7万
查看次数

Python 3.x的MySQL-db lib?

那么,寻找一个与py3k/py3.0/py3000兼容的mysql-db-lib,有什么想法吗?谷歌没有任何结果.

python mysql python-3.x

36
推荐指数
3
解决办法
4万
查看次数

存储MySQL GUID/UUID

这是我将UUID()生成的MySQL GUID/UUID转换为二进制(16)的最佳方法:

UNHEX(REPLACE(UUID(),'-',''))
Run Code Online (Sandbox Code Playgroud)

然后将其存储在BINARY(16)

以我应该知道的方式做这件事是否有任何影响?

mysql binary uuid guid

31
推荐指数
2
解决办法
2万
查看次数

Stackless python和multicores?

所以,我正在玩Stackless Python并且脑子里出现了一个问题,也许这是"假设的"或"常见的"知识,但我发现它实际上写在无堆栈网站上的任何地方.

Stackless Python是否利用多核CPU?在普通的Python中,你有GIL不断出现并且(使用多个核心)需要使用多个进程,这对Stackless来说也是如此吗?

python concurrency multithreading multicore python-stackless

24
推荐指数
1
解决办法
8072
查看次数