06_递归(下):分而治之,从归并排序到MapReduce
你好,我是黄申。
上一节,我解释了如何使用递归,来处理迭代法中比较复杂的数值计算。说到这里,你可能会问了,有些迭代法并不是简单的数值计算,而要通过迭代的过程进行一定的操作,过程更加复杂,需要考虑很多中间数据的匹配或者保存。例如我们之前介绍的用二分查找进行数据匹配,或者我们今天将要介绍的归并排序中的数据排序等等。那么,这种情况下,还可以用递归吗?具体又该如何来实现呢?
你好,我是黄申。
上一节,我解释了如何使用递归,来处理迭代法中比较复杂的数值计算。说到这里,你可能会问了,有些迭代法并不是简单的数值计算,而要通过迭代的过程进行一定的操作,过程更加复杂,需要考虑很多中间数据的匹配或者保存。例如我们之前介绍的用二分查找进行数据匹配,或者我们今天将要介绍的归并排序中的数据排序等等。那么,这种情况下,还可以用递归吗?具体又该如何来实现呢?
你好,我是周维。这节课,我们来聊聊差异化定位的问题。
在短视频创作中,打造差异化定位是非常重要的,因为有了差异,用户才能记住自己。也因为有了差异,我们才能够塑造个人 IP,在一个垂类领域中具备商业价值。
复杂度来源前面已经讲了高性能和高可用,今天来聊聊可扩展性。
可扩展性指系统为了应对将来需求变化而提供的一种扩展能力,当有新的需求出现时,系统不需要或者仅需要少量修改就可以支持,无须整个系统重构或者重建。
你好,我是刘津。
还记得在上一讲中,我介绍的北极星指标的概念吗?没错,北极星指标是在当前阶段高于一切,唯一重要指标或重要的一组互斥指标关系。
理论上来说北极星指标应该由高层提出,但实际上并不是每个公司都有清晰的北极星指标。但只要你足够理解它的概念,你完全有能力找到正确的北极星指标并影响到更多人。
你好,我是邵亚方。今天我们进入课程的第二个模块,来聊一下内存泄漏的话题。
相信你在平时的工作中,应该遇到过下面这些场景:
类似问题,很可能就是内存泄漏导致的。我们都知道,内存泄漏指的是内存被分配出去后一直没有被释放,导致这部分内存无法被再次使用,甚至更加严重的是,指向这块内存空间的指针都不存在了,进而再也无法访问这块内存空间。
05 | 经验总结:如何给你的代码起好名字?
上一节我们讲了编码规范的重要性,而编码规范,从起一个好名字开始。但起名字,也没有我们想得那么简单。有个流传很广的戏言:“计算机科学只有两件难事,废弃缓存和取名字。”
前面谈到验收标准时,我们说的实际上是确定性需求,也就是说,我们已经知道了这个需求要怎么做,就差把它做出来了。而有时候,我们面对的需求却是不确定的,比如,产品经理有了一个新想法,那我们该如何应对呢?
在学习程序设计的路上,你一定会碰到“设计模式”,它或者给你启发,或者让你疑惑,并且你还会发现在不同的阶段遇到它,感受是不同的。而“开发框架”呢?似乎已是现在写程序的必备品。那么框架和模式又有何不同?它们有什么关系?在程序设计中又各自扮演什么角色呢?
你好,我是钱亮。今天我们聊一聊如何挑选合适的跑鞋。
Sorry, your browser doesn’t support embedded videos.

00:00 / 10:33
每一个决定跑步的人,最先想到要买的装备就是跑鞋了。自从我跑完惨痛的首马以后就开始了买买买的节奏,第一项任务就是在“双 11”中熬夜买了 5 双 Asics 跑鞋。当时,我还没有系统学过跑步的知识,选跑鞋也挺感性盲目的,不知道自己买的是什么系列,看到便宜好看就入手了。最后咋样了呢?没过多久,这几双鞋我就都送人了。
05 | 如何当好AI时代的产品经理?(实践篇)
“纸上得来终觉浅,绝知此事要躬行。”——陆游
上篇文章,我讲到了如何学习成为一个 AI 时代的产品经理,这篇文章,我想结合我自己的工作,跟你分享一些我在做人工智能相关产品时的实践和思考。我进这一行的时间其实不长,而且目前的主要工作都集中在 NLP 领域,所以难免会有一些局限性,希望你批判地听。