数据结构与算法设计关系

数据结构与算法设计关系

ID:15200674

大小:168.50 KB

页数:6页

时间:2018-08-02

数据结构与算法设计关系_第1页
数据结构与算法设计关系_第2页
数据结构与算法设计关系_第3页
数据结构与算法设计关系_第4页
数据结构与算法设计关系_第5页
资源描述:

《数据结构与算法设计关系》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、据结构与算法设计关系摘要:分别介绍数据结构和算法设计研究的内容,以及两者之间的联系和区别,最后举例说说明两者之间的联系。关键词:数据结构算法设计存储复杂度正文:一,数据结构研究的内容在大二的时候,我们学习了《数据结构教程》课程,从中我们知道了,数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。现在我们知道了数据结构是指数据以及相互之间的关系,可以看做是相互之间存在着某种特定的关系的数据元素的集合,因此,可以把数据结构看成是带结构的数据元素的集合,数据结构包括以下几个方面,同时也是数据结构要研究的内容。1,数据元素之间的逻辑关系,

2、即数据的逻辑结构,数据的逻辑结构师从逻辑关系(主要是相邻关系)上描述数据的,它与数据的存储无关,是独立于计算机的,因此数据的逻辑结构可以看做是从具体问题抽象出来的数学模型;2,数据元素及其关系在计算机存储器中的存储方式,即数据的存储结构,也称为数据的物理结构,数据的存储结构师逻辑结构用计算机语言的实现或在计算机中的表示(亦成文映象),也就是逻辑结构在计算机中的存储方式,也是依赖于计算机语言的;3,施加在该数据上的操作,即数据的运算,数据运算时定义在数据的逻辑结构上的,每种逻辑结构都有一种相应的运算。以上是数据结构的包括的内容,也是数据结构研究的内容,其中每个方面又包括许多小的

3、方面,逻辑结构包括集合,线性结构,树形结构,图形结构等,存储结构包括顺序存储结构,链式存储结构,索性存储结构,哈希(或散列)存储结构。当然,在我们大学期间,不能感受到数据结构研究内容的深刻,但是数据结构研究的内容非常广,而却有着非常重要的意义。二,算法设计研究的内容通过大二一年的学习,以及动手实践,我们应该对算法非常熟悉了。算法是什么?算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程。当面临某个问题时,需要找到用计算机解决这个问题的方法和步骤,算法是解决这个问题的方法和步骤的描述。算法是计算机学科中最具有方法论性质的核心概念,被誉为计算机学科的灵魂。算法由

4、操作,控制结构,数据结构3要素组成。算法的基本特征包括又穷性,确定性,可行性。以上是算法的一些基本特征,那么算法设计研究的内容是什么了,算法设计研究的内容包括以下几个方面。1.算法实现平台有很多种类,它们的函数库,类库也有较大差异,但必须具备的最基本操作功能是相同的,操作包括:算术运算,关系比较,逻辑运算,数据传送。2.一个算法功能的实现不仅取决于所选用的操作,还取决于各操作之间的执行顺序,即控制结构,算法的控制结构给出了算法的框架,决定了各操作的执行顺序。61.算法操作的对象是数据,数据间的逻辑关系,数据的存储方式以及处理方式就是数据的数据结构。以上就是算法设计研究的内容,

5、我是从算法的3要素来看算法设计研究的内容的。算法设计研究的内容也非常广,我们不能单凭我们大学学的知识去看算法设计的研究,我们学的只是九牛一毛,所以需要我们去多阅读一些关于算法研究方面的书籍。三,两者之间的联系与区别在介绍数据结构研究的内容的时候,就提到了两者之间的关系,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。由此可见数据结构和算法设计密不可分,好的数据结构也需要好的算法设计才能实现。在介绍算法设计研究内容的时候,我们可以知道算法操作的对象是数据,数据间的逻辑结构,数据的存储方式,简而言之,算法操作的对象是数据结构。由此可见

6、,数据结构也是算法设计研究的一方面,说明两者有着密不可分的关系。但是两者也有着不同的地方,数据结构重在研究数据以及数据之间的关系,不会着重于其实现的过程,但是算法设计不仅要考虑到数据之间的关系,也要分析实现的过程,并要分析最优的算法实现,以及算法效率,空间利用率。四,举例说明下面举一些有关两者之间联系的例子,并简要说明。例子:给定一个文本文件,要求统计给定单词在文本中出现的总次数,并检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。程序如下:#include#include#include#incl

7、ude#include#defineMAXSTRLEN64voidGetNext(charT[MAXSTRLEN],int(&next)[64]){inti,j;i=1;next[1]=j=0;while(i<(int)T[0])if(j==0

8、

9、T[i]==T[j]){++i;++j;next[i]=j;}elsej=next[j];for(j=1;j<(int)T[0];j++){printf("next[%d]=%-3d",j,next[j]);if((j)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。