Everything is Alright

[audio:http://storage.live.com/items/174EF12B785B7835!110?filename=23%20Everything’s%20Alright.mp3.mp3|titles=23_everythingsalright]
发表在 唠叨 | 标签为 | 留下评论

python中的深拷贝与浅拷贝

1. python默认浅拷贝,即引用复制。
2. 注意,跨越数据层与计算层的实例,要注意使用后手动释放。
否则若计算层引用函数未退出,而数据层更新,则旧有的实例不会释放,造成内存泄漏。

3. 下面是使用copy来实现深拷贝的例子

>>> a = {}
>>> a[0] = set()
>>> a[0].add('1')
>>> a[0]
set(['1'])

>>> a[1] = a[0]
>>> a[1]
set(['1'])

>>> a[1].add('2')
>>> a[1]
set(['1', '2'])

>>> a[0]
set(['1', '2'])

>>> import copy
>>> a[2] = copy.deepcopy(a[1])
>>> a[2]
set(['1', '2'])

>>> a[2].add('3')
>>> a[2]
set(['1', '3', '2'])

>>> a[1]
set(['1', '2'])
>>> a[0]
set(['1', '2'])
>>>

发表在 Python, 编程 | 标签为 , | 留下评论

【ZZ】是什么成就了卓越的程序员?

原文:http://blog.jobbole.com/11761/

    这件事仿佛发生在昨天一样令我印象深刻。那是2000年,帕尔加斯博士站在我们的数据结构课教室的前方,讲解着一些y型数据结构的内容,同时把一个SSH 的窗口投影在我们前面的墙上。有人提出了一个问题,随后他用下面的话回答道:“如果你想成为一个真正的计算机科学家,你就得开始用 Vi 。”我感觉他在说这些话的时候还在微微笑着,而事后发现他说的这个观点根本不对。 但是由于年轻并且易受影响,当时的我回到宿舍后立刻了开始了自学如何使用 Vi 。我度过了很长一段艰苦的时间,但是当我开始变得对其熟悉的时候,我意识到我用 Vi 会干的非常快。

继续阅读

发表在 网摘, 网络 | 标签为 , | 留下评论

[推荐] 《To The Moon》

《去月球》其实是一位垂暮老人的一个愿望。
从周末下载开始断断续续的玩,终于在2月14日晚上看到了结局。

之后反而有种坦然的感觉,

很长一段时间以来,我遇到了许多人,许多事,有些事情我知道是错的,却不知道做错的问题在哪里。
也许根本不是什么的答案,而是问题本身就不存在,只不过是我无聊杜撰的罢了。

所有的,都是幻觉,所有的,都不是真正的爱情。
假如你想问爱情是什么,也许《To The Moon》里会有答案。

但是我不是任何答案,我只是我自己,与你们无关。

[audio:http://storage.live.com/items/174EF12B785B7835!109?filename=04%20For%20River%20-%20Piano%20(Sarah%20&%20Tommy's%20Version).mp3|titles=04_For_River]

To The Moon

发表在 唠叨 | 标签为 , | 留下评论

MIT-Scheme 入门

1. MIT-Scheme 是Lisp语言的一类分支,是SICP(计算机程序的构造和解释)的教学语言。

2. 下载地址参考GNU网站,此外注意查阅文档(HTML版),和一个简单的介绍(豆丁)。

3. 晚上折腾了一会,发现Emacs的分支Edwin用的不是很顺手,明天有空把说明书看看。

附上一个牛顿法求平方根Scheme代码:

(define (square x) (* x x))

(define (abs x)
	(if (< x 0) (- x) x))

(define (average x y)
	(/ (+ x y) 2))

(define (improve guess x)
	(average guess (/ x guess)))

(define (good-enought? guess x)
	(< (abs (- (square guess) x)) 0.001))

(define (sqrt-iter guess x)
	(if (good-enough? guess x)
	guess
	(sqrt-iter (improve guess x) x)))

(define (sqrt x))
	(sqrt-iter 1.0 x)

后记: 第二天继续尝试Edwin, RTFM。

这里可以参考RPI的Scheme教学文档

比起生硬的说明文档,这个好看的多,尤其是老师说“I believe some students in previous years have gotten it running on a Mac, but I don't know any details.” 的时候我笑的不行了。

综上,文档里建议结合GNU-Emacs使用Scheme,不过我有些想把他转接到vim上去。

发表在 Lisp, 读书 | 标签为 , , , , | 留下评论

2011年12月30日

孤灯曲径残影石,酒翁踏水一蓑衣;

我自将心葬明月,楼兰夜色几时还。

发表在 无法分类 | 标签为 | 留下评论

C++ 原地归并

起因是之前面百度,被面试官鄙视在了原地归并,后来翻了翻代码,其实不难,可能是当时没有突破思维把。

刚刚hzh又提起原地归并,发现自己都忘的差不多了,坑爹,还是写下来。


void merge(int * v, int n, int pos) // 数组v, 有n个元素,从pos位置开始分割,前后两段分别有序
{
    int fir = 0, sec = pos;
    while (fir < sec && sec < size) {
    while (fir < sec && v[fir] <= v[sec]) fir ++;
    int max_move = 0;

    while (sec < size && v[fir] > v[sec]) sec++, max_move++; // 核心,用来统计这一段元素到底该插到什么地方。
    exchange(&v[fir], sec-fir, sec-fir -max_move) ; // 特殊的放置函数,后面会举个栗子的
    fir += max_move;
    }

}

例如:       1 2 6 7 | 4 5 9 8  n=8 pos = 4
首次循环停止时, fir =  2 , 因为 v[2] = 6 > v[4] = 4,  
随后 sec 和 max_move 加了两次,因为 v[2] = 6 < v[6] = 9

传入 exchange的参数为  (&v[2], 4, 2) 

表示从第三个位置开始(也就是6在的位置),之后的4个元素(包括它),整体循环右移2次,

然后就变成了 1 2 4 5 6 7 9 8,  fir + max_move, 移到它的新位置,后面的特例就不再分析了。

最后这个方法的复杂性就落在了 exchange上,不过如果用链表来实现就很低了,想来当时的面试官是想这样考我的。。

发表在 C, 编程 | 标签为 , | 4条评论

Python开发中的一个小细节


for id in id_list:
    if ooxx(id):
        id_list.remove(id)
        continue

这样的写法是不合适的,因为当remove掉id时,目前的指针会指向下一个元素,而continue会跳过他
所以这样的现象是,一旦remove,就会跳过下一个元素

可以考虑这样实现

for id in id_list:
    if ooxx(id):
        remove_list.append(id)
        continue

...

for id in remove_list:
    id_list.remove(id)
发表在 Python, 编程 | 标签为 | 留下评论

2011年12月8日

34c800864b5fbdf1f5bdf07880580cbc
b651e465c558f19486d04132cc5a9e99
8d52c9ba70a64c76bef1ebb2873df29d
67f8ac0ae1cd830626a3d1cfe119ba4c
e6480f95effef1cf42e0907d24efd2f9
cb6d1732acec16d0a446b3ec3b948238
48c97b6ace6e545426bab8995aa21937
0a
由SMS4算法加密。

发表在 许愿墙 | 留下评论

[整理合辑]那些我所知道的中翻

偶然的原因,开始整理在一位作者在网上发布的音乐。

中翻,简单的说,指的是把已有的曲谱重新填词演唱,

他们大部分不是流行歌曲,也不是经典老歌,如果要定出个概括,那他们都是很中国风的歌曲。

希望你会喜欢。

下载地址:http://115.com/file/e6a6541t#
———————–
选一首上传了,试听:[audio:http://www.seenthewind.com/./wp-content/uploads/2011/12/lvc.mp3|titles=绿茶]
PS: 各种风格都有,所以不要说是怨妇歌了 -_-!

————————

PPS: 目前作者已经停止发布他的整理了,我这个转手卖萌也不会继续了,目前正好一共十辑。

解压密码是我的名字三个首字母,同样可以发送邮件到miuc.cpp[at]gmail.com来获取密码

发表在 音乐 | 标签为 , | 留下评论