发布信息

数据结构与算法剖析 (数据结构与算法)

     2024-08-14 00:42:45     395

本文目录导航:

数据结构与算法剖析

本文出自:

www点54manong点com

什么是数据结构,为什么要学习数据结构?数据结构能否是一门纯数学课程?它在专业课程体系中起什么样的作用?咱们要怎样才干学好数据结构?… 置信同窗们在刚开局《数据结构》这门课的学习时,心里有着相似前面几个疑问的这样那样的不懂。宿愿上方的内容能协助大家消弭纳闷,下定信心保持学好这门课:

1 学习数据数据结构的意义

数据结构是计算机迷信与技术专业、计算机消息治理与运行专业,电子商务等专业的基础课,是十分关键的外围课程。

一切的计算机系统软件和运行软件都要用到各种类型的数据结构。

因此,要想更好地运用计算机来处置实践疑问,仅把握几种计算机程序设计言语是难以接待以后泛滥复杂的课题。

要想有效地经常使用计算机、充散施展计算机的性能,还必定学习和把握好数据结构的无关常识。

打好“数据结构”这门课程的扎实基础,关于学习计算机专业的其余课程,如操作系统、数据库治理系统、软件工程、编译原理、人工智能、图视学等都是十分有益的。

2 为什么要学习数据结构

在计算机开展的初期,人们经常使用计算机的目的关键是处置数值计算疑问。 数据结构与算法

当咱们经常使用计算机来处置一个详细疑问时,普通须要经过下列几个步骤:首先要从该详细疑问形象出一个适当的数学模型,而后设计或选用一个解此数学模型的算法,最后编出程序启动调试、测试,直至获取最终的解答。

例如,求解梁架结构中应力的数学模型的线性方程组,可以经常使用迭代算法来求解。

因为过后所触及的运算对象是繁难的整型、实型或布尔类型数据,所以程序设计者的关键精神是集中于程序设计的技巧上,而毋庸注重数据结构。

随着计算机运行畛域的扩展和软、配件的开展,非数值计算疑问越来越显得关键。

据统计,当今处置非数值计算性疑问占用了85%以上的机器期间。

这类疑问触及到的数据结构更为复杂,数据元素之间的相互相关普通不可用数学方程式加以形容。

因此,处置这类疑问的关键不再是数学剖析和计算方法,而是要设计出适合的数据结构,才干有效地处置疑问。

上方所罗列的就是属于这一类的详细疑问。

例1:图书馆消息检索系统。

当咱们依据书名查找某本书无关状况的时刻;或许依据作者或某个出版社查找无关书籍的时刻,或依据书刊号查找作者和出版社等无关状况的时刻,只需咱们建设了相关的数据结构,依照某种算法编写了相关程序,就可以成功计算机智能检索。

由此,可以在图书馆消息检索系统中建设一张按书刊号顺序陈列的图书消息表和区分按作者、书名、出版社顺序陈列的索引表,如图1.1所示。

由这四张表构成的文件便是图书消息检索的数学模型,计算机的关键操作便是依照某个特定要求(如给定书名)对图书馆藏书消息文件启动查问。

诸如此类的还有在校生消息查问系统、商场商品治理系统、仓库物资治理系统等。

在这类文档治理的数学模型中,计算机处置的对象之间理论存在着的是一种繁难的线性相关,这类数学模型可称为线性的数据结构。

例2:八皇后疑问。

在八皇后疑问中,处置环节不是依据某种确定的计算规律,而是应用试探和回溯的探求技术求解。

为了求得正当规划,在计算机中要存储规划的以后形态。

从最后的规划形态开局,一步步地启动试探,每试探一步构成一个新的形态,整个试探环节构成了一棵隐含的形态树。

如图1.2所示(为了形容繁难,将八皇后疑问简化为四皇后疑问)。

回溯法求解环节实质上就是一个遍历形态树的环节。

在这个疑问中所产生的树也是一种数据结构,它可以运行在许多非数值计算的疑问中。

例3:教学方案编排疑问。

一个教学方案蕴含许多课程,在教学方案蕴含的许多课程之间,有些必定按规则的先后秩序启动,有些则没有秩序要求。

即有些课程之间有先修和后续的相关,有些课程可以恣意布置秩序。

这种各个课程之间的秩序相关可用一个称作图的数据结构来示意,如图1.3所示。

有向图中的每个顶点示意一门课程,假设从顶点vi到vj之间存在有向边<vi,vj>,则示意课程i必定先于课程j启动。

由以上三个例子可见,形容这类非数值计算疑问的数学模型不再是数学方程,而是诸如线性表、树、图之类的数据结构。

因此,可以说数据结构课程关键是钻研非数值计算的程序设计疑问中所产生的计算机操作对象以及它们之间的相关和操作的学科。

学习数据结构的目的是为了了解计算机处置对象的个性,将实践疑问中所触及的处置对象在计算机中示意进去并对它们启动处置。

与此同时,经过算法训练来提高在校生的思想才干,经环节序设计的技艺训练来促成在校生的综合运行才干和专业素质的提高。

3数据结构课程的内容

数据结构与数学、计算机配件和软件有十分亲密的相关,它是介于数学、计算机配件和计算机软件之间的一门计算机专业的外围课程,是初级程序设计言语、操作系统、编译原理、数据库、人工智能、图视学等课程的基础。

同时,数据结构技术也宽泛运行于消息迷信、系统工程、运行数学以及各种工程技术畛域。

数据结构课程重在探讨软件开发环节中的方案设计阶段、同时设计编码和剖析阶段的若干基本疑问。

此外,为了结构出好的数据结构及其成功,还需思考数据结构及其成功的评估与选用。

因此,数据结构的内容包括三个档次的五个“因素”,如图1.3所示。

数据结构的外围技术是合成与形象。

经过合成可以划分出数据的三个档次;再经过形象,舍弃数据元素的详细内容,就获取逻辑结构。

相似地,经过合成将处置要求划分红各种配置,再经过形象舍弃成功细节,就获取运算的定义。

上述两个方面的联合使咱们将疑问变换为数据结构。

这是一个从详细(即详细疑问)到形象(即数据结构)的环节。

而后,经过参与对成功细节的思考进一步获取存储结构和成功运算,从而成功设计义务。

这是一个从形象(即数据结构)到详细(即详细成功)的环节。

熟练地把握这两个环节是数据结构课程在专业技艺造就方面的基本指标。

完结语:数据结构作为一门独立的课程在国外是从1968年才开局的,但在此之前其无关内容已散见于编译原理及操作系统之中。

20世纪60年代中期,美国的一些大学开局设立无关课程,但过后的课程称号并不叫数据结构。

1968年美国唐.欧.克努特传授开创了数据结构的最后体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地论述数据的逻辑结构和存储结构及其操作的著述。

从20世纪60年代末到70年代初,产生了大型程序,软件也相对独立,结构程序设计成为程序设计方法学的关键内容,人们越来越注重数据结构。

从70年代中期到80年代,各种版本的数据结构著述相继产生。

目前,数据结构的开展并未终结,一方面,面向各专门畛域中不凡疑问的数据结构获取钻研和开展,如多维图形数据结构等;另一方面,从形象数据类型和面向对象的观念来探讨数据结构已成为一种新的趋向,越来越被人们所注重。

《数据结构与算法剖析》 和 《数据结构》 是同一门课吗?

是同一门课,数据结构中会关涉到很多算法,所以在学数据结构的时刻也会学一些算法,将强了解。

然而别认为《数据结构与算法剖析》就是《算法》就行了。

假设能学好《数据结构》,都能将代码看懂和成功,应该是高手,然而学完这个够不够,那就要看自己有没有那个须要了。

千万别好高骛远!

昆明理工大学考研数据结构与算法剖析用什么言语

该校该考研科目用的是C言语。

昆明理工大学877数据结构与算法剖析考研初试参考书为严蔚敏《数据结构(C言语版)》在温习的时刻必定要看考研纲要,纲要给出了考试范围及考试内容,是考研出题的关键依据,同时也是分清重难点启动针对性温习的首选资料。

相关内容 查看全部