这是chapter 1的Introduce部分

原文:Readers of thisbook are expected to have at least a year's experience programming in high andlow-level languages. Also, some exposure to elementary algorithms on simpledata structures such as arrays, stacks, queues, and trees might be helpful,though this material is reviewed in some detail in Chapters 3 and 4. An elementaryacquaintance with machine organization, programming languages, and other basiccomputer science concepts is also assumed. (We’ll review such material brieflywhen appropriate, but always within the context of solving particularproblems.) A few of the application areas we deal with require knowledge ofelementary calculus. We’ll also be using some very basic material involvinglinear algebra, geometry, and discrete mathematics, but previous knowledge ofthese topics is not necessary.

理解:阅读这本书的读者最好是有一年以上的高级和低级语言的编程经验。懂得如,数组,堆,队列和树的这些基本的数据结构。要熟悉计算机结构,编程语言和其它一些基础的计算机概念。在某些地方会要到微积分,线性代数,几何学和离散数学的知识。

原文:In writing acomputer program, one is generally implementing a method of solving a problemthat has been devised previously. This method is often independent of theparticular computer to be used: it’s equally appropriate for many computers. Inany case, it is the method, not the computer program itself, which must bestudied to learn how the problem is being attacked.

The term algorithm is used in computer science to describe a problem-solvingmethod suitable for implementation as computer programs. Algorithms are the “stuff”of computer science: they are central objects of study in many, if not most,areas of the field.

理解:算法就是解决问题的方法,是计算机科学的原料

原文:Most algorithmsof interest involve complicated methods of organizing the data involved in thecomputation. Objects created in this way are calleddata structures, and they also are central objects of study incomputer science. Thus algorithms and data structures go hand in hand; in thisbook we take the view that data structures exist as the byproducts or end-productsof algorithms, and thus need to be studied in order to understand thealgorithms. Simple algorithms can use simple data structures. We will study theproperties of many data structures in this book; indeed, it might well havebeen called Algorithms and Data structures in this book; indeed, it might wellhave been called Algorithmsand Data Structures in C.

理解:数据结构指在利用算法解决问题的过程中的数据的组织方式,研究数据结构是为了更好的研究算法。这本书改名为《算法与数据结构的C语言实现》更好。

原文:When avery large computer program is to be developed, a great deal of effort must gointo understanding and defining the problem to be solved, managing itscomplexity, and decomposing it into smaller subtasks that can be easilyimplemented. It is often true that many of the algorithms required after thedecomposition are trivial to implement. However, in most cases there are a fewalgorithms whose choice is critical because most of the system resources willbe spent running those algorithms. In this book we will study a variety offundamental algorithms basic to large programs in many applications areas.

理解:对于复杂的问题,采取的解决方式通常是将问题细化成很多的小问题,这些小问题的算法往往更容易实现,所以本书讨论的是各种各样基本的算法。

原文:The sharing ofprograms in computer systems is becoming more widespread, so that while seriouscomputer user will use a large fraction of the algorithms in this book, theymay need to implement only a somewhat smaller fraction of them. However, implementingsimple versions of basic algorithms helps us to understand them better and thususe advanced versions more effectively. Also, mechanisms for sharing softwareon many computer systems often make it difficult to tailor standard programs toperform effectively on specific tasks, so that the opportunity to re-implementbasic algorithms frequently arises.

理解:还是在说明基本算法的重要性和实用性

原文:Computer programsare often over-optimized. It may not be worthwhile to take pains to ensure thatan implementation is the most efficient possible unless an algorithm is to beused for a very large task or is to be used many times. Otherwise, a careful,relatively simple implementation will suffice: one can have some confidence that it will work, and it is likely to run perhaps five or ten times slowerthan the best possible version, which means that it may run for an extra fewseconds. By contrast, the proper choice of algorithm in the first place can makea difference of a factor of a hundred or a thousand or more, which mighttranslate to minutes, hours, or even more in running time. In this book, weconcentrate on the simplest reasonable implementations of the best algorithms.

理解:大多数人可能这样觉得——程序不必过分优化,除非程序很繁琐或者使用的次数很频繁;一个一般的算法就能实现功能,只是比最好的算法慢5倍10倍而已。作者的建议一开始就用合适的算法,这样程序运行的时候效率就更好了,因此在这本里他用最简单地方式讲述最好的算法怎样合理的实现的。也就是说通俗的告诉你为什么这是最优算法。

原文:Often severaldifferent algorithms (or implementations) are available to solve the sameproblem. The choice of the very best algorithm for a particular task can be a very complicated process, often involving sophisticated mathematical analysis. Thebranch of computer science which studies such questions is called analysis of algorithms. Many of the algorithms that we will study have been shown throughanalysis to have very good performance, while others are simply known to workwell through experience. We will not dwell on comparative performance issues:our goal is to learn some reasonable algorithms for important tasks. But oneshould not use an algorithm without having some idea of what resources it mightconsume, so we will be aware of how our algorithms might be expected toperform.

理解:从多种可行性的算法中选出最优算法很伤脑筋,需要你精通数学。但是懂得算法分析让我们更好理解算法是怎么实现的。

总结:1. 有哪些基础之后,可以更好的学习这门课

2. 什么是算法和数据结构

3. 学习最优的基本算法,并要知道是怎么实现的

C语言的实现的程序算法,算法:C语言实现(Algorithms In C)的学习相关推荐

  1. 程序设计基础c语言版大作业,程序设计基础(C语言版)

    本书详细介绍了C语言程序设计所涉及的标记.类型.运算符.表达式.基本输入/输出.顺序结构.选择结构.循环结构.数组类型.指针类型.函数.变量的属性.编译预处理.结构体类型.共同体类型.枚举类型以及文件 ...

  2. 小程序开发语言python_微信小程序是用什么语言开发的呢

    原标题:微信小程序是用什么语言开发的呢 说到微信小程序可能大部分只是一知半解,您是否清楚小程序是用什么来开发的?如果您不太清楚,那么多美源小程序小编来告诉您小程序开的具体. 微信小程序是什么语言开发的 ...

  3. 微信小程序语言c#,微信小程序推出最新脚本语言WXS,你需要知道的全在这里了...

    原标题:微信小程序推出最新脚本语言WXS,你需要知道的全在这里了 感谢"造程序"(微信ID:zaochengxucom)的授权发布. 责编:陈秋歌,关注微信开发等领域,寻求报道或者 ...

  4. 一段c语言的自加程序输出xyz,c语言程序设计基础教程_习题解答2012.doc

    c语言程序设计基础教程_习题解答2012 C语言程序设计基础教程_习题答案2012 习题答案 第1章 填空题 应用程序ONEFUNCC中只有一个函数这个函数的名称是__main 一个函数由__函数头_ ...

  5. c语言线段树建树程序,C++算法 线段树

    线段树这个算法,看起来非常高端,而且很有用处,所以还是讲一下下吧. 温馨提示:写线段树前请做好写码5分钟,调试一辈子的准备^-^ 啊直接步入正题-- 首先我们考虑一个题目:有一个序列,要做到单点修改单 ...

  6. c语言 二进制输出_程序员入门C语言,需要掌握的4个基础知识

    C语言是当前所有开发技术中使用较为广泛的一门语言,从它诞生之日起就深受程序员的喜爱.随着C语言的普及,后来的开发语言都或多或少地借鉴或遵循了它的一些模式.另外,C语言是计算机编程领域中使用最早的高级语 ...

  7. c语言低通滤波程序,一阶低通滤波器c语言

    1. 一阶滤波算法的原理 一阶滤波,又叫一阶惯性滤波,或一阶低通滤波.是使用软件编程实现普通硬件RC低通滤波器的功能. 一阶低通滤波的算法公式为: Y(n)=αX(n) (1-α)Y(n-1) 式中: ...

  8. python语言程序设计基础网课-程序设计基础(Python语言)答案

    [单选题]下面代码的输出结果是 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ d = ...

  9. 单片机c语言三种经典程序结构,单片机C语言程序的结构和设计精选.docx

    单片机C语言程序的结构和设计精选 实验五 单片机C语言程序的结构和设计一.实验目的1. 掌握单片机C语言的程序结构:2. 掌握单片机C语言程序的编写和调试方法:3. 掌握MSP430FG2553基本I ...

  10. c语言做一个小程序报告,《C语言程序设计实践》课程报告30个小程序组合成一个大程序.doc...

    北方民族大学 课 程 报 告 课 程 名 称: 程序设计实践 专 业 班 级 : 软件工程(2)班 学 生 姓 名 : 李思良 学 号 : 任 课 教 师 : 王晓锋 学 期 : 2015-2016学 ...

最新文章

  1. 深度学习与芯片之间的羁绊往事
  2. Python_模块介绍
  3. iDempiere = OSGi + ADempiere 一款ERPCRMSCM系统、助力中小企业发展
  4. 【渝粤教育】 国家开放大学2020年春季 2528监督学 参考试题
  5. 前端学习(729):函数导读
  6. 2021-08-15
  7. 菜比如我的漫漫react学习路(二)
  8. 2021-01-31
  9. Chrome浏览器打开微信页面
  10. 徐思201771010132《面向对象程序设计(java)》第六周学习总结
  11. kartoslam找bug之行
  12. erlang httpc
  13. 关于PEM, DER, CRT, CER,KEY等各类证书与密钥文件后缀的解释
  14. Linux非交互式修改用户密码
  15. motoxt 1085 android8,Moto(Moto)X XT1085/全网通手机系统介绍评测-ZOL中关村在线
  16. 看程序员奶爸是如何通过代码给宝宝起名的~
  17. 自我管理-管理者的职责
  18. JavaScript-----BOM
  19. 第四周项目3-小学生算术题
  20. 智慧工地安全帽识别检测算法 yolov5

热门文章

  1. F450无人机组装与调试
  2. 怎么样把 swf格式 转换为flv格式
  3. 基于Android的城市环境监测系统
  4. css 兼容解决方案,CSS的常见兼容性问题解决方案
  5. ADF单位根检验三种形式_【EViews】面板数据的处理方法及检验步骤
  6. WPF 自定义文本框输入法 IME 跟随光标
  7. linux u盘 引导修复工具下载,全能u盘恢复工具
  8. 仿城通网盘仿蓝奏网盘源码
  9. 毕业论文答辩ppt怎么做?
  10. 基于单片机的温度监测系统设计(#0411)