分享到:

程序=算法+数据结构

问:前几期你给我陆续介绍了顺序、循环、分支、数组等知识,可以说,我学到了一些编程的技巧。可你能不能给我整体性地介绍一下编程的概念呢?不然学多了我会糊涂的。$$小博士:好的。$$谈编程谈得多了,那程序到底是什么呢?有一个很出名的公式言简意赅地说明了这个问题:“程序=算法+数据结构”。其实要想学好编程,关键不在于会用多少编程的语言工具,或者知晓多少时髦的概念,而是要掌握好算法和数据结构。这就像制造一个精美的瓷器,关键是加工的材料(就好比是数据结构)和制造的的方法(就好比是算法)。那么什么是算法和数据结构呢?$$算法:$$算法就是用有限的步骤去实现对某一特定问题的解法。其实算法又何尝只存在于计算机的世界里呢?应该说现实生活中有更多的“算法”。像前面说的制造任何一样产品,都要按一定的流程、一定的方法来。这一定的流程一定的方法就是“算法”。学生们从学校回家,可能有好几条回家的路线,而每一条路线都能用一定的步骤去完成“回家”这个特定的问题,...  (本文共2页) 阅读全文>>

权威出处: 电脑报2004-06-14
《山西煤炭管理干部学院学报》2000年03期
山西煤炭管理干部学院学报

高职院校如何开展面向对象的程序设计语言教学

一、软件设计方法的发展 20世纪80年代,结构化程序设计方法是最主要、最通用的程序设计方法: 程序=(算法)+(数据结构) 算法(函数和过程)和数据结构(包含数据类型和数据)是两个独立的整体。两者分开设计,以算法为主。因此,往往需要一个算法能访问多个数据结构,而且一个数据结构可由多个算法对其进行同种操作。 随着软件设计方法的不断进步。软件工程师将数据结构与算法组织成一个独立的功能模块: 程序=(算法+数据结构) 算法和数据结构是一个整体,算法总是依附于数据结构,算法含有对数据结构的访问,算法只能适用于特定的数据结构。因此,设计一个算法适合于访问多个数据结构是多余的,而且一个数据结构由多个算法对其进行同样操作也是多余的。 伴随技术进步、工程规模的扩大、软件复杂性的大幅增加,面向对象的程序设计方法应运而生: 对象=(算法+数据结构) 程序:(对象+对象+……) 即程序由许多的对象拼装而成,而对象又是一个个的程序实体。 面向对象的程序...  (本文共2页) 阅读全文>>

《计算机工程与应用》1981年06期
计算机工程与应用

《算法+数据结构=程序》

作者N·Wirtllf“Algorit是,nls+I)at、、stf、,etL,res=P:ogr:、,I,s” 《算法+数据结构一程序》一书是l,J沐 NTICEHALL,IN〔」出版公司出版的有关计 算机科学方面的丛书之一。作者N.、‘rt卜,是 世界上著名的计算机科学家,是PAscA TJ语 言的设计者。该书是作者的《系统化程序设计》 (“Sy ste:natie progralnn,ing”)一书的深入和 续篇。《系统化程序设计的译文刊登在《计算 机动态1 980年第1期上。 本书1976年出版后,国际上不少有声望 的计算机科学杂志作过推荐和介绍。例如: 《Software 1977、VoL 7 NoZ、《CoiliPu-卜ter》1 977.Vol 10、3《Computer}弋eviews》 1976.7月都分别作了推荐和介绍。 如同书名所指出的,算法十数据结构一程 序,这是一本向计算机工作者论述数据结构, 算法结构...  (本文共1页) 阅读全文>>

《数字技术与应用》2017年10期
数字技术与应用

数据结构简析

1数据结构的定义1.1数据元素数据元素是组成数据的基本单位,可以由多个用于表示其属性的数据项组成,数据项是处理数据时的最小单位。在化学中,原子是由质子和中子构成的,然而尽管质子和中子在尺度上更小,但原子才是研究问题时的的最小单位,因为原子是保持物质化学性质的最小的单位,就算分子也是由原子构成的。同样的道理,数据元素就好比原子,数据项就好比质子和中子,数据项必须由多个组合在一起才是一个完整的、有意义的数据元素,所以我们在处理数据时,通常不会从数据项处理起,而是对数据元素这一整体进行分析。1.2数据结构1.2.1逻辑数据结构当多个数据元素相互之间存在某种特定联系,把这些数据元素抽象成一个集合,便形成了一种逻辑数据结构。形象的来说,数据元素就像是一个个结点,一块块砖头,一条条钢筋。当多个数据元素以特定的关系组合后,就形成了一种特殊的建筑,这种建筑就是逻辑数据结构。当我们发现某种数据结构在解决某一类问题时具有很高的效率时,我们就把这种逻...  (本文共3页) 阅读全文>>

《电脑知识与技术》2018年16期
电脑知识与技术

浅谈如何学好数据结构

1前提引入“数据结构”按照课本上知识点的排列(以严蔚敏编著的教材为例),前四章主要研究线性结构,第五章主要讲解数组和广义表,可以看作是线性结构和非线性结构的一个转折章节也可以作为线性结构的拓展章节,第六章主要讲解树形结构,第七章主要讲解图形结构。第九章和第十章主要讲解数据的处理——查找和排序;本篇文章主要针对学习前七章的知识而提出一些见解。如何学好数据结构,主要从下面几个方面着手。2主要内容首要原则是掌握每一章节的基本概念并要理解运用。基本概念中往往隐含着解决相关问题的基本方法。比如线性表的定义:“一个线性表是n个数据元素的有限序列”,其中n=0;首先n=0时,线性表称为空表;n0时,为非空表;基本操作时空表不能进行取元素和删除元素操作,其次数据元素可以简单到是一个字符如线性表L=(a,b,c,d,e,f),也可以是一条记录,这时数据元素的定义一般是抽象的结构体类型定义;最后线性表中元素是“有序”的,这里的有序并不是指递增或者递...  (本文共2页) 阅读全文>>

《当代教研论丛》2017年02期
当代教研论丛

浅析高职数据结构课程教学自考

《数据结构》课程是可以实现计算机操作系统、编译程序、数据库系统、大型应用程序与其他系统程序的重要基础。它既是一般化的程序设计,同时又是非数值性程序设计的根本科学技术依据,是融数学、硬件以及软件三者于一体的核心课程。因此,《数据结构》课程具有很强的综合性,学习方式的选择对于顺利通过自考、学好计算机应用专业的其他后续课程起着关键性的作用。一、打好课程知识基础,掌握C语言与类C语言《数据结构》课程的内容、概念、方法都很多,并且具有高度的抽象性、极强的逻辑性、高超的技巧性、具体的实践性等特点。由于“程序设计基础与C语言”是《数据结构》课程的前导课程中的重要内容之一,学生对于C语言的程序设计的认识、理解、掌握程度直接影响着《数据结构》课程的理论知识学习与上机实验的效果,因此,教师应随时了解学生的“程序设计基础与C语言”的学习进度与掌握程度,并及时给予正确指导,解决学生在学习过程中遇到的问题,逐步夯实这门编程语言的知识技能基础,才能保证学生...  (本文共1页) 阅读全文>>

《课程教育研究》2017年33期
课程教育研究

数据结构实践教学体系与教学设计研究

一、引言随着教学体系的改革[1],数据结构的教育教学也备受计算机专业的相关教育者关注,数据结构是计算机专业的一门必修课程,学生对于数据结构课程知识的掌握程度直接关系到专业知识的整体学习进度,而数据结构的课程具有难度大,知识点多,实践能力要求高等特点,在教学过程中产生了很多的问题。其中,实践课程教学体系的建设尤为突出,目前数据结构实践教学体系存在诸多问题,学生不能够利用好实践课程,导致实践课程没有发挥其应有的价值,教师也无法给予实践课程准确的定位,实践课程的利用率远不及理论课程,针对这种现状,本文从实践性教学的现状出发,到实践性教学培养模式,提出了一套完整的方案,为实践性教学提供了参考依据。二、数据结构实践性教学1.实践性教学的现状分析数据结构的教育教学本身存在教学难度大的特点[2],其实践教学体系的难度更为突出,其中主要存在的问题有如下几点:(1)课程知识点多,知识点难度大,教师在规定的时间难以把一个复杂的问题讲解透彻,学生难跟...  (本文共3页) 阅读全文>>