《计算之魂》的原文摘录
-
...则用简单的插入排序将它们整理为有序的子序列. (查看原文)
-
我们介绍选择排序和插入排序这两种低效率的排序算法,绝不是让大家在任何程序中使用它们,它们在今天其实毫无意义。 (查看原文)
-
在计算思维中,最重要的是一种自顶向下、先全局后局部的逆向思维,它被称为递归(Recursive)。
与之相对应的,是人类所采用的自底向上、从小到大的正向思维,它被称为递推(Iterative)。 (查看原文)
-
1.从上到下顺序访问;
2.先左后右(或者先右后左);
3.走到尽头就掉头。
这种遍历方法由于先一口气走到二叉树的最深处,因此被称为深度优先(Depth First)遍历算法
1.将整棵二叉树从上到下分层,逐层扫描;
2.每一层从左到右(也可以从右到左)扫描。
这种遍历的方法由于是先横向扫描,再逐渐走到下一层,因此被称为广度优先(Breadth First)遍历算法。
中序、先序、后序遍历。 (查看原文)
-
Stack & Queue (查看原文)
-
堆栈是后进先出(LIFO),队列和堆栈相反,是先进先出(FIFO) (查看原文)
-
头指针&尾指针 (查看原文)
-
除了用于实现递归的问题,堆栈的另一大应用场景是实现程序中不同功能模块的相互调用。 (查看原文)
-
...先把大框架想清楚,再层层递进解决细节问题。为了防止一个细节影响到其他步骤,每一个模块都要封装好。为了使这些模块将来能够重复使用,每一个模块只完成一个功能;如果要用到其他的功能,就需要调用其他的模块。
上下文无关文法Context-Free Grammar
上下文相关(Context Sensitive)
基于概率的上下文无关文法(Probabilistic Context-Free Grammar, PCFG)
(查看原文)
-
等价性、模块化,以及通过它们化繁为简。 (查看原文)
-
今天的人工智能主要是指基于大数据的深度学习。我们可以把一个人工智能系统理解为由特定程序(控制指令序列)控制的、能够解决某一类问题的计算机。 (查看原文)
-
迄今为止,计算机相关理论和技术的发展都没有超越图灵机的范畴。 (查看原文)
-
一台计算机应该包括计算、存储和控制三个部分。人们通常注意到的其实是前两部分,忽视的是控制部分。 (查看原文)
-
图灵提出了计算机的数学模型,冯·诺依曼确定了计算机通用的系统结构,而高德纳则奠定了计算机算法的基础。
(查看原文)
-
程序对计算机来讲是必不可少的,而程序的灵魂在于算法。 (查看原文)
-
在计算机科学中,更多的时候是需要顶层设计的,而不是从经验出发归纳总结。 (查看原文)
-
冯·诺伊曼再客观上讲计算机分为了软硬件两部分。 (查看原文)
-
人和人水平的差别、东西和东西质量的差别,常常是呈数量级的。 (查看原文)
-
要衡量算法的好坏,就必须先明确算法的衡量标准以及测试的方法,这和任何其他科学的工作方法都一样。 (查看原文)
-
那么什么是好算法呢?...关键在于用多少数据来测试算法的速度和空间,因为用不同数量的数据测试时,两个算法的相对表现可能会完全不一样。 (查看原文)