《二月本应该是个温暖的季节》
一
二月本应该是个温暖的月份
不信你看吧!
第一视觉里的相互联系与彼此影响的因素
肯定改变了
我不在揣摩对方的心思
(关键没有对方的心思让我揣摩)
我费劲巴力地在友谊和同情之间装模作样
并不是我当初的本意
二月本应该是个温暖的季节
是谁迫使我同已知的事物进行联想
是谁把我无条理的思考变成自我想象的第一视觉
并非真实的情景。无意识的轮廓。在你们那里
比你知道的更多应当怎么说?是不是也得根据不同情况
从几个方面去考虑。大概是什么状态。遇到个体表达
不一致的时候,你们对优柔寡断的偏离
你们对宁可留住你们希望留住的东西
是不是也心怀恐惧
二月本应该是个温暖的季节
去做每个人想做的事。去做每个人想做的一切
问题可能就出在这里——这怎么可能——
随大流就是让人放心不下的惬意之一
即便怀疑也很难拒绝
二
如果要看就看雪和融化的雪如何同时存在
灰色的云彩走向虚无
如果看黑白灰色物体顶端从大地裸露出来
如果只是为了去看它去描述它去再现它去获取它去契合它去挽留它
被传统低估的一面
这里没有黑白灰色物体顶端的高光
也没有怀旧的暖色调
也没有变幻的云彩
三
从不知不觉的跟随到自愿离开之后
从枯草丛在第二年的凌乱中透着气透着光之后
我一直对突然意识到的但马上又遗忘的流动性着迷
我走,已知事物的联想也在走
不定时散步的人和没时间上班的人也在走
大地虚实的边缘也在跟着走
该不该在某个地方停下来该不该把我理解的问题投射给与我情感息息相关的事物
并把它说成是孩子们开学前一天的景象
四
谁能告诉我这样的春天押什么韵
怎么押韵?
什么我望着整个冬天只剩下没几天用不着几天就会全部消失的冬天——
我愿用不是这样的词语也能说出我个人的表现
什么木枝条是笔直的是弯曲的是介于两者之间的存在
什么把先于语言的东西感受于心,在选择契合它的句子
让它去人们希望它去的地方
什么山峦的褶皱颜色变深沉寂宛如黑白灰的颜色不规则的线条比例各不相同的一块旧木板
什么这期间还注意到另外一件与自己完全无关的……
诸如此类的事
哪有这样目睹一切的?
不能说就别说站在旁边不行吗?
对抗失去的一切就非得需要说句话吗?
五
尽管前面的事在我们之前就已经把我们想知道的一切都说清楚了
你就不想再为喧闹中感到孤独的人说点什么?
你就不想再为感动而来的人说点什么?
蓝色是你现在看到的蓝色
但并不是什么时候都能观察到的蓝色
你确定不用看就能感知到的事物
确实是在没人妨碍你时观察到的吗
你确信只有亲自观察和经历而不是去看
就能知晓一个人在人群中更加孤独的原因所在吗?
你不是你在看肯定比你在看更重要吗?
六
我的主题是第一次想离开这里第二次想离开这里……
导致我最终不愿离开
即便如此
好长时间也看不到一些人心中质朴的情感了
也不能通过他们知晓另外一些人
最近的消息
如果独处的尽头是重新塑造
我宁愿失去联系
七
如果让我描述,我会把太阳描述成隔一段时间升起隔一点时间降落的事物
而且这种具有复数特性的事物,有时
还不如铺在床上的稻草更温暖
如果让我描述,现在我该不该再睡一会在起床再去思考当前无法摆脱的问题
比如:倾向于一方面的过度沉迷
导致失衡的另一方面——
想象中的焦虑不安
困难重重
就像突如其来的各种感觉投射到能唤醒记忆的每一件物体上——
如同从空荡荡的屋子泥墙上掉下来的每一块星辰的碎屑——
观察得一清二楚
一
二月本应该是个温暖的月份
不信你看吧!
第一视觉里的相互联系与彼此影响的因素
肯定改变了
我不在揣摩对方的心思
(关键没有对方的心思让我揣摩)
我费劲巴力地在友谊和同情之间装模作样
并不是我当初的本意
二月本应该是个温暖的季节
是谁迫使我同已知的事物进行联想
是谁把我无条理的思考变成自我想象的第一视觉
并非真实的情景。无意识的轮廓。在你们那里
比你知道的更多应当怎么说?是不是也得根据不同情况
从几个方面去考虑。大概是什么状态。遇到个体表达
不一致的时候,你们对优柔寡断的偏离
你们对宁可留住你们希望留住的东西
是不是也心怀恐惧
二月本应该是个温暖的季节
去做每个人想做的事。去做每个人想做的一切
问题可能就出在这里——这怎么可能——
随大流就是让人放心不下的惬意之一
即便怀疑也很难拒绝
二
如果要看就看雪和融化的雪如何同时存在
灰色的云彩走向虚无
如果看黑白灰色物体顶端从大地裸露出来
如果只是为了去看它去描述它去再现它去获取它去契合它去挽留它
被传统低估的一面
这里没有黑白灰色物体顶端的高光
也没有怀旧的暖色调
也没有变幻的云彩
三
从不知不觉的跟随到自愿离开之后
从枯草丛在第二年的凌乱中透着气透着光之后
我一直对突然意识到的但马上又遗忘的流动性着迷
我走,已知事物的联想也在走
不定时散步的人和没时间上班的人也在走
大地虚实的边缘也在跟着走
该不该在某个地方停下来该不该把我理解的问题投射给与我情感息息相关的事物
并把它说成是孩子们开学前一天的景象
四
谁能告诉我这样的春天押什么韵
怎么押韵?
什么我望着整个冬天只剩下没几天用不着几天就会全部消失的冬天——
我愿用不是这样的词语也能说出我个人的表现
什么木枝条是笔直的是弯曲的是介于两者之间的存在
什么把先于语言的东西感受于心,在选择契合它的句子
让它去人们希望它去的地方
什么山峦的褶皱颜色变深沉寂宛如黑白灰的颜色不规则的线条比例各不相同的一块旧木板
什么这期间还注意到另外一件与自己完全无关的……
诸如此类的事
哪有这样目睹一切的?
不能说就别说站在旁边不行吗?
对抗失去的一切就非得需要说句话吗?
五
尽管前面的事在我们之前就已经把我们想知道的一切都说清楚了
你就不想再为喧闹中感到孤独的人说点什么?
你就不想再为感动而来的人说点什么?
蓝色是你现在看到的蓝色
但并不是什么时候都能观察到的蓝色
你确定不用看就能感知到的事物
确实是在没人妨碍你时观察到的吗
你确信只有亲自观察和经历而不是去看
就能知晓一个人在人群中更加孤独的原因所在吗?
你不是你在看肯定比你在看更重要吗?
六
我的主题是第一次想离开这里第二次想离开这里……
导致我最终不愿离开
即便如此
好长时间也看不到一些人心中质朴的情感了
也不能通过他们知晓另外一些人
最近的消息
如果独处的尽头是重新塑造
我宁愿失去联系
七
如果让我描述,我会把太阳描述成隔一段时间升起隔一点时间降落的事物
而且这种具有复数特性的事物,有时
还不如铺在床上的稻草更温暖
如果让我描述,现在我该不该再睡一会在起床再去思考当前无法摆脱的问题
比如:倾向于一方面的过度沉迷
导致失衡的另一方面——
想象中的焦虑不安
困难重重
就像突如其来的各种感觉投射到能唤醒记忆的每一件物体上——
如同从空荡荡的屋子泥墙上掉下来的每一块星辰的碎屑——
观察得一清二楚
#微整医生李大琦#
美眉私信:大琦院长,我是一个北京的粉丝,我想问下我去打瘦脸为什么医生会让我做轮廓提升啊?这是什么原理呢?大家对于肉毒素的认知可能都是除皱或者瘦脸,但对于 医生来说,肉毒素是肌肉,配合医生针对面部解剖肌肉纹理的不同部位注射起到不同的 作用。细剖面部肌肉有很多,有的起着提拉作用,有的则是下拉作用,这样整个面部才能处于一个对抗平衡的状态,不管是静态还是动态都会相对和谐!而颈阔肌和降口角肌就是一个下拉作用,如果它们下拉的力量过多,皮肤就会松垂,侧面看下颌缘的轮廓就会消失,非常显老。#下颌缘提升#
像医生推荐的轮廓提升项目就是将瘦脸注射在颈阔肌以及部分的降口角肌当中,这样它们下拉的力量得到一定的削弱,相对应的会使面部提升的肌肉增强,因此面部下垂的组织也就得到了提升,下颌缘的轮廓当然就会更加清晰。
看完以上介绍,美眉们就可以自测啦如果的确存在下颌缘轮廓模糊、或者消失的情况,那就非常适合轮廓提升,毕竟清晰的下颌线才更有少女感。#李大琦院长#
美眉私信:大琦院长,我是一个北京的粉丝,我想问下我去打瘦脸为什么医生会让我做轮廓提升啊?这是什么原理呢?大家对于肉毒素的认知可能都是除皱或者瘦脸,但对于 医生来说,肉毒素是肌肉,配合医生针对面部解剖肌肉纹理的不同部位注射起到不同的 作用。细剖面部肌肉有很多,有的起着提拉作用,有的则是下拉作用,这样整个面部才能处于一个对抗平衡的状态,不管是静态还是动态都会相对和谐!而颈阔肌和降口角肌就是一个下拉作用,如果它们下拉的力量过多,皮肤就会松垂,侧面看下颌缘的轮廓就会消失,非常显老。#下颌缘提升#
像医生推荐的轮廓提升项目就是将瘦脸注射在颈阔肌以及部分的降口角肌当中,这样它们下拉的力量得到一定的削弱,相对应的会使面部提升的肌肉增强,因此面部下垂的组织也就得到了提升,下颌缘的轮廓当然就会更加清晰。
看完以上介绍,美眉们就可以自测啦如果的确存在下颌缘轮廓模糊、或者消失的情况,那就非常适合轮廓提升,毕竟清晰的下颌线才更有少女感。#李大琦院长#
《恶评算法导论》https://t.cn/A6Yn0jOZ
在之前一篇文章里,我提到学会 AVL tree 或者 b tree 的重要性。后来在基础班的讨论会,有同学问我他还听说过「红黑树」(red-black tree),问我红黑树和 AVL tree 有什么差别。我只告诉他红黑树是“随机的”,并不是精确地平衡的,所以查找效率没有 AVL tree 那么有保证。
其实我没写过红黑树。最早的时候我学的是 AVL tree,并实现过它。虽然我实现过 AVL tree,但当时觉得很麻烦,很容易弄错,所以其实害怕写它。因为对 AVL tree 的恐惧,又听说红黑树更简单,而且好像效率差不多,就以为红黑树是好东西。后来每次看书上讲的红黑树,都没看明白它是怎么回事,也没动手实现过红黑树。然而我仍然觉得红黑树比 AVL tree 好,因为人们都那么说。
我之前为什么害怕写 AVL tree 呢?本科学数据结构的时候,我用 C 语言写过 AVL tree,当时觉得很容易弄错,很麻烦。后来学会了高级一些的语言和正确的编程理念,才发现之前写 AVL tree 觉得很难,大部分是因为之前的编程教学的误导。当年的老师们总是一来就跟学生强调“函数调用的开销大”,要避免写不必要的函数。所以 AVL tree 保持平衡的代码都直接写在同一个 insert 函数里面,而没有“帮助函数”。因为没有把“左转”和“右转”的代码单独写成帮助函数,所以就很混乱,缺乏模块化,容易出错。就算最后折腾出来,也不好理解,也许还有隐藏的 bug。后来就忘了怎么写出来的。
一般人学这种数据结构,最后差不多都是这种结局。学过,写过,然后就忘了。
总之,早年对 AVL tree 的恐惧,加上对红黑树的各种宣传(却没有实际的理解),导致了我以为红黑树会更好。既然有同学提起红黑树,我就想起这个事,而且我意识到“红黑树更好”这个想法,也许是一种误传。所以我查了一下红黑树和 AVL tree 的差别,发现这篇 Stack Overflow 帖子。
排名最高的回答说,对于“insert intensive”的任务使用红黑树,他好像觉得 AVL tree 的旋转操作更多。下面几个其它人也这么认为,然而这些回答全都只有说法,而没有依据。
想想,AVL 和红黑树这种平衡树,要加入新 key 的时候,都需要先进行查找,就成了 O(log n) 时间。因为红黑树不是精确的平衡,它的高度一般比 AVL 要高,查找的路径长,所以谁的加入速度快,还真不一定。旋转操作其实不是那么费时间的,都是 O(1) 操作。而且我真的看不出来“红黑树旋转少”这个说法有什么依据。
这条回答还抬出一些“权威实践”作为依据。说 Java 和 C++ 的标准库代码,还有 Linux 内核的调度器里面,都用的红黑树。然而我觉得这些都不能作为依据。特别是 Linux 内核调度器这种东西,我不明白调度器为什么会需要用到查找结构。调度器本来不会有很多需要查找的数据,所以对于查找不应该有什么特别的要求,随便用一种数据结构应该都能满足要求,甚至可以根本不用这类数据结构。其实 Linux 内核调度器折腾了几万行代码,弄得很复杂,效果还不如 FreeBSD 3000 行代码的简单调度器。可以参考这个讲座。
在后面终于看到有人提了一句,说很多人用红黑树,是因为他们只学过红黑树,从没学过 AVL tree,因为《算法导论》(评论中提到的“CLRS”)里面没讲 AVL tree,只讲了红黑树。而且好的 AVL tree 代码实现比较难找到。
这篇回复引起了我的注意。《算法导论》就是那本“MIT 经典算法教材”,英文名为《Introduction to Algorithms》。四个作者的名字开头连起来是 CLRS,所以常被称为 CLRS。似乎每个计算机科学领域都会出现这么一本“经典教材”,忽然间垄断世界上几乎所有大学的教学。这些“经典教材”一般写得都不咋地,甚至之前从来没听说过那些作者。我一直纳闷为什么会出现这样的现象。
所以《算法导论》没讲 AVL tree,这个事情引起了我的注意。在我看来,AVL tree 就是查找二叉树(binary search tree, BST)的一个自然而简单扩展。有了 BST 之后,只需要加上“平衡”这个特性,它就成了 AVL tree。所以之前的数据结构课,讲了 BST 之后一般都是讲 AVL tree。然而看《算法导论》的目录,我发现它讲了 BST 之后,直接就是红黑树,完全没有 AVL tree 的章节。这很奇怪。
另外翻到后面讲 b tree 的章节(第 18 章),我发现它只讲了 b tree 的基本的加入节点和“节点分裂”操作,却只字没提到 b tree 和 AVL tree 一样,是需要进行“平衡”的,否则不能保证查找效率。书中举的加入节点的例子,正好是平衡的例子,没出现需要旋转的情况,所以读者看了还以为 b tree 加入节点操作就这么简单。然而其实保持平衡才是 b tree 最烧脑的操作。如果你没把握它的思路,会比 AVL tree 还烧脑。
所以《算法导论》直接没讲 AVL tree,而 b tree 章节中只字不提“平衡旋转操作”。这让我产生了对《算法导论》作者们的严重怀疑,他们到底知不知道什么是 b tree?没有平衡旋转操作的“b tree”并不是真的 b tree!作为这么多大学使用的教材,这种严重的“疏忽”是不可接受的。
所以我才意识到,为什么之前我提到自己实现了 b tree 之后,有些人例行地评论:”王垠实现了个 b tree,就以为了不起”。他们天真地以为 b tree 是《算法导论》讲过的,所以他们已经理解了 b tree 是什么,所以实现了 b tree 不算什么。然而他们真的知道 b tree 是什么吗?他们亲手实现过真正的 b tree 吗?
仔细看看《算法导论》的 b tree 代码吧,那能叫代码吗?那只是“伪码”,是不能运行的,而且它的样式非常的糟糕,混淆而难以理解。在我看来,这些代码一塌糊涂,难以入目。直接忽略平衡操作,伪码还看不明白,你说学生看这书,怎么可能写出真正的 b tree 代码来?
不知从什么时代开始,算法书上开始用“伪码”表示程序,而不是真实可以运行的代码。教授们告诉人们“伪码”的好处,说它可以避免学生被一种语言套住,更加简洁云云。然而我发现实际情况却是,伪码并不比实际的编程语言简洁。正好相反,这些“伪码语言”可以很糟糕,比如《算法导论》里的伪码。所以《算法导论》是用一种很糟糕的语言,写出了一些难以入目的不能运行的代码。
真正的数据结构和算法教学,必须使用真的可以运行的代码,而不是伪码。否则就只有纸上谈兵,自以为懂了。
这也许就是为什么之前在某公司需要用 b tree 的时候,我发现网络上找不到好的 b tree 代码可以用。就像之前的评论里说的,好的 AVL tree 的实现很难找,好的 b tree 实现当然更难找。《算法导论》的效果,尽然是让 AVL tree 和 b tree 的知识消失!
所以多年之后回头看《算法导论》,我对它的评价已经跌入谷底。为什么这种误人子弟的“经典教材”不断地出现?我感觉到有 Matrix 的隐秘操作在里面。也许这种教材的出现不是为了改善教学,而是为了实现 Matrix 的愚民计划。他们知道,如果人们的头脑里没有真的知识,就能被任意地操纵。
在之前一篇文章里,我提到学会 AVL tree 或者 b tree 的重要性。后来在基础班的讨论会,有同学问我他还听说过「红黑树」(red-black tree),问我红黑树和 AVL tree 有什么差别。我只告诉他红黑树是“随机的”,并不是精确地平衡的,所以查找效率没有 AVL tree 那么有保证。
其实我没写过红黑树。最早的时候我学的是 AVL tree,并实现过它。虽然我实现过 AVL tree,但当时觉得很麻烦,很容易弄错,所以其实害怕写它。因为对 AVL tree 的恐惧,又听说红黑树更简单,而且好像效率差不多,就以为红黑树是好东西。后来每次看书上讲的红黑树,都没看明白它是怎么回事,也没动手实现过红黑树。然而我仍然觉得红黑树比 AVL tree 好,因为人们都那么说。
我之前为什么害怕写 AVL tree 呢?本科学数据结构的时候,我用 C 语言写过 AVL tree,当时觉得很容易弄错,很麻烦。后来学会了高级一些的语言和正确的编程理念,才发现之前写 AVL tree 觉得很难,大部分是因为之前的编程教学的误导。当年的老师们总是一来就跟学生强调“函数调用的开销大”,要避免写不必要的函数。所以 AVL tree 保持平衡的代码都直接写在同一个 insert 函数里面,而没有“帮助函数”。因为没有把“左转”和“右转”的代码单独写成帮助函数,所以就很混乱,缺乏模块化,容易出错。就算最后折腾出来,也不好理解,也许还有隐藏的 bug。后来就忘了怎么写出来的。
一般人学这种数据结构,最后差不多都是这种结局。学过,写过,然后就忘了。
总之,早年对 AVL tree 的恐惧,加上对红黑树的各种宣传(却没有实际的理解),导致了我以为红黑树会更好。既然有同学提起红黑树,我就想起这个事,而且我意识到“红黑树更好”这个想法,也许是一种误传。所以我查了一下红黑树和 AVL tree 的差别,发现这篇 Stack Overflow 帖子。
排名最高的回答说,对于“insert intensive”的任务使用红黑树,他好像觉得 AVL tree 的旋转操作更多。下面几个其它人也这么认为,然而这些回答全都只有说法,而没有依据。
想想,AVL 和红黑树这种平衡树,要加入新 key 的时候,都需要先进行查找,就成了 O(log n) 时间。因为红黑树不是精确的平衡,它的高度一般比 AVL 要高,查找的路径长,所以谁的加入速度快,还真不一定。旋转操作其实不是那么费时间的,都是 O(1) 操作。而且我真的看不出来“红黑树旋转少”这个说法有什么依据。
这条回答还抬出一些“权威实践”作为依据。说 Java 和 C++ 的标准库代码,还有 Linux 内核的调度器里面,都用的红黑树。然而我觉得这些都不能作为依据。特别是 Linux 内核调度器这种东西,我不明白调度器为什么会需要用到查找结构。调度器本来不会有很多需要查找的数据,所以对于查找不应该有什么特别的要求,随便用一种数据结构应该都能满足要求,甚至可以根本不用这类数据结构。其实 Linux 内核调度器折腾了几万行代码,弄得很复杂,效果还不如 FreeBSD 3000 行代码的简单调度器。可以参考这个讲座。
在后面终于看到有人提了一句,说很多人用红黑树,是因为他们只学过红黑树,从没学过 AVL tree,因为《算法导论》(评论中提到的“CLRS”)里面没讲 AVL tree,只讲了红黑树。而且好的 AVL tree 代码实现比较难找到。
这篇回复引起了我的注意。《算法导论》就是那本“MIT 经典算法教材”,英文名为《Introduction to Algorithms》。四个作者的名字开头连起来是 CLRS,所以常被称为 CLRS。似乎每个计算机科学领域都会出现这么一本“经典教材”,忽然间垄断世界上几乎所有大学的教学。这些“经典教材”一般写得都不咋地,甚至之前从来没听说过那些作者。我一直纳闷为什么会出现这样的现象。
所以《算法导论》没讲 AVL tree,这个事情引起了我的注意。在我看来,AVL tree 就是查找二叉树(binary search tree, BST)的一个自然而简单扩展。有了 BST 之后,只需要加上“平衡”这个特性,它就成了 AVL tree。所以之前的数据结构课,讲了 BST 之后一般都是讲 AVL tree。然而看《算法导论》的目录,我发现它讲了 BST 之后,直接就是红黑树,完全没有 AVL tree 的章节。这很奇怪。
另外翻到后面讲 b tree 的章节(第 18 章),我发现它只讲了 b tree 的基本的加入节点和“节点分裂”操作,却只字没提到 b tree 和 AVL tree 一样,是需要进行“平衡”的,否则不能保证查找效率。书中举的加入节点的例子,正好是平衡的例子,没出现需要旋转的情况,所以读者看了还以为 b tree 加入节点操作就这么简单。然而其实保持平衡才是 b tree 最烧脑的操作。如果你没把握它的思路,会比 AVL tree 还烧脑。
所以《算法导论》直接没讲 AVL tree,而 b tree 章节中只字不提“平衡旋转操作”。这让我产生了对《算法导论》作者们的严重怀疑,他们到底知不知道什么是 b tree?没有平衡旋转操作的“b tree”并不是真的 b tree!作为这么多大学使用的教材,这种严重的“疏忽”是不可接受的。
所以我才意识到,为什么之前我提到自己实现了 b tree 之后,有些人例行地评论:”王垠实现了个 b tree,就以为了不起”。他们天真地以为 b tree 是《算法导论》讲过的,所以他们已经理解了 b tree 是什么,所以实现了 b tree 不算什么。然而他们真的知道 b tree 是什么吗?他们亲手实现过真正的 b tree 吗?
仔细看看《算法导论》的 b tree 代码吧,那能叫代码吗?那只是“伪码”,是不能运行的,而且它的样式非常的糟糕,混淆而难以理解。在我看来,这些代码一塌糊涂,难以入目。直接忽略平衡操作,伪码还看不明白,你说学生看这书,怎么可能写出真正的 b tree 代码来?
不知从什么时代开始,算法书上开始用“伪码”表示程序,而不是真实可以运行的代码。教授们告诉人们“伪码”的好处,说它可以避免学生被一种语言套住,更加简洁云云。然而我发现实际情况却是,伪码并不比实际的编程语言简洁。正好相反,这些“伪码语言”可以很糟糕,比如《算法导论》里的伪码。所以《算法导论》是用一种很糟糕的语言,写出了一些难以入目的不能运行的代码。
真正的数据结构和算法教学,必须使用真的可以运行的代码,而不是伪码。否则就只有纸上谈兵,自以为懂了。
这也许就是为什么之前在某公司需要用 b tree 的时候,我发现网络上找不到好的 b tree 代码可以用。就像之前的评论里说的,好的 AVL tree 的实现很难找,好的 b tree 实现当然更难找。《算法导论》的效果,尽然是让 AVL tree 和 b tree 的知识消失!
所以多年之后回头看《算法导论》,我对它的评价已经跌入谷底。为什么这种误人子弟的“经典教材”不断地出现?我感觉到有 Matrix 的隐秘操作在里面。也许这种教材的出现不是为了改善教学,而是为了实现 Matrix 的愚民计划。他们知道,如果人们的头脑里没有真的知识,就能被任意地操纵。
✋热门推荐