计算机考研:数据结构常用算法分析(1)?
第一章
◆数据:指能被计算机识别、存储和处理的信息载体。
◆数据元素:是数据的基本单位。在某些情况下,数据元素也被称为元素、节点、顶点和记录。一个数据元素有时可以由几个数据项组成。
◆数据类型:值的集合和在这些值上定义的一组操作。
在高级语言程序中,分为:非结构化原子类型和结构化类型。
抽象数据类型(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/