TAOCP-Reading-计算机程序设计艺术阅读-1-2

昨天翻译到n++,今天继续

上一篇:https://blog.csdn.net/qq_43057060/article/details/95316231

正文

注意E3中的步骤顺序是很重要的,“m <- n,n <- r"和"n <- r,m <- n"是完全不一样的.因为后者意味着n的初始值将会在把它赋值给m前被覆盖掉.因此上面的代码序列等同于"n <- r,m <- r"当多个变量被设为相同的值时,我们可以用连箭头。例如"n <- r,m <- r"可以被写成“n <- m <- r”。交换两个变量的值,可以写成"交换m <> n"他可以用一个辅助的数字t并写作"Set t <- m,m <- n,n <- t”
一个算法从它编号最小的步骤开始,通常为第一步,除非特殊情况,否则按顺序执行后续步骤。在E3中“跳转到E1”表示一个明显的执行顺序。步骤E2中的动作开始于一个条件"如果r=0"也就是说,如果r!=0,就什么也不会发生.我们或许已经加上了一句无用的句子——“如果r!=0,跳到第三步”
一个粗竖线(饶恕作者没加)出现在E3后表示算法结束,恢复文字.
我们现在已经解释了几乎所有的用于标记算法的规则,除了用于标记"下标"或"引索化"的数组的元素的规则.假设我们有n个数据u1,u2······un;我们用u[j]替代uj表示其中的第j个元素,此表示u[j]经常被使用,相似的,a[i,j]有时被用来表示一个双重下标,就像aij.有时多个字母被用作变量名,通常大写;因此TEMP应当用作一个临时保存结果值的变量,PRIME[K]应当是第K个质数,and so on~~~

​ 对算法的表现形式说太多了,现在我们来执行一下,他因该立即被提及,以免读者期望阅读一个算法就像在读小说。

我们老师就经常对我们说,“以为侬来读小锁死呢”(上海话:以为你在读小说书那),我一开始也真在把他当小说书读

这样的尝试将会使它变得非常的难理解什么发生了。一个算法必须被认为是可信的,并且最好的学习一个算法到底是什么的方法是执行他。阅读者应当时刻准备着一支笔和一张纸,在遇到每一个算法时,通过一个例子了解它到底是什么。通常,一个示例的大纲将会被给出,或读者可以轻松举一个。下面我们给出了一个例子,这是一种轻松且简单的方式去理解一个给定的算法,并且其他所有方法通常是失败的。

于是高德纳举了个例子——m=119,n=544,下面是示例C++
#include<iostream>
using namespace std;
int euclid(int m,int n);
int main
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机程序设计艺术》(The Art of Computer Programming)是计算机科学界的经典著作,由“计算机之父”唐纳德·E·科恩思(Donald E. Knuth)撰写。该系列作品共有4卷,其中第三卷的全称是《计算机程序设计艺术-卷3》,简称为《TAOCP Vol.3》。 《TAOCP Vol.3》主要讨论的是排序与查找算法。在计算机领域中,排序和查找是非常重要的基本操作。排序是将数据按照一定的顺序进行排列,而查找则是在已排好序的数据中查找某个特定的元素。这两个操作在日常生活和软件开发中都有广泛的应用。 在《TAOCP Vol.3》中,科恩思详细讲解了各种排序和查找算法的原理和实现方法。他从数学和计算机科学的角度出发,深入剖析了这些算法的性能评估和优化。对于每个算法,他给出了详细的伪代码和复杂度分析,帮助读者深入理解算法的内部运行机制和优化技巧。 除了排序和查找算法,科恩思还涉及了其他一些相关的内容,如外排序、字符串匹配和数据压缩等。他提出了一些新的思想和技术,并给出了具体的实现方法和应用场景。 《TAOCP Vol.3》不仅仅是一本教科书,更是一本经典的参考书。它为计算机科学领域的学习者和从业者提供了深入研究的基础和指导。阅读和理解这本书将帮助读者提高算法设计和优化的能力,从而提高程序的效率和质量。 总之,科恩思的《计算机程序设计艺术-卷3》是一本经典的著作,它详细介绍了排序和查找算法以及相关内容,对于计算机科学领域的学习和研究具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值