计算机考研:数据结构常用算法分析(1)?

数据结构是计算机考研408计算机基础综合的重要组成部分。考生需要认真复习,尤其是对于数据结构中一些常用的算法问题,考生一定要理解和掌握。猎考研带你把这些知识点一一梳理。

第一章

◆数据:指能被计算机识别、存储和处理的信息载体。

◆数据元素:是数据的基本单位。在某些情况下,数据元素也被称为元素、节点、顶点和记录。一个数据元素有时可以由几个数据项组成。

◆数据类型:值的集合和在这些值上定义的一组操作。

在高级语言程序中,分为:非结构化原子类型和结构化类型。

抽象数据类型(ADT):指一个数学模型和在该模型上定义的一组操作。

抽象数据类型软件模块通常包括定义、表示和实现。

使用三元组(d,s,p):数据对象、数据关系和基本操作。

◆数据结构:指数据之间的关系,即数据的组织形式。一般包括三个方面:

数据的逻辑结构、存储结构和数据操作。

◆逻辑结构:指数据元素之间的逻辑关系。

◆存储结构:数据的逻辑结构由计算机语言实现。

◆线性结构:一种数据逻辑结构,其特点是如果该结构是非空集,则该结构只有一个起始节点和一个终止节点,所有节点最多有一个直接前任和一个直接继任者。线性表是典型的线性结构。

◆非线性结构:数据逻辑结构中的另一大类,其逻辑特征是一个节点可能有多个直接前任和直接继任者。

有四种常见的存储表示方法:

顺序存储法:它将逻辑上相邻的节点存储在物理位置相邻的存储单元中,节点之间。

逻辑关系通过存储单元的邻接关系来体现。由此产生的存储表示称为顺序存储结构。

◆链接存储方式:不要求逻辑相邻的节点物理相邻,节点之间的逻辑关系为

由附加的指针字段表示。由此产生的存储表示称为链式存储结构。

◆索引存储方式:除了存储节点信息,还额外建立一个索引表来标识节点的地址。

◆哈希存储方式:根据节点的关键字直接计算节点的存储地址。

渐近时间复杂度的表示为T(n)=O(f(n)),其中“O”是一个数学符号,其严格定义为“若T(n)和f(n)是定义在一组正整数上的两个函数,则T(n)=O(f(n))表示存在正常数c且n≥n0,使得当n middotf(n)时”很容易理解,当整数自变量n趋于无穷大时,这两个函数的比值是一个不等于0的常数。这样,就很容易计算了。

求一个算法的时间复杂度,大概是n的统计量,下面这个例子很消极。

x = 91;y = 100;

while(y & gt;0)

if(x & gt;100)

{ x = x-10;y-;}

else x++;

◆ T(n)=O(1)

◇这个节目看起来有点吓人。已经循环运行了1000次,但是我们见过N次吗?号码

◇这个程序的运行与n无关,即使循环一万年,我们也不关心,它只是一个常数级的函数。

如果你对考研有疑问,不知道考研中心的内容怎么总结,不了解考研报名的地方政策,点击最下方咨询官网,免费获取复习资料:/xl/