c语言必背数据结构_严蔚敏《数据结构》(C语言版)全套资料【教材+笔记+题库】...

严蔚敏所著的《数据结构》(C语言版,清华大学出版社)是我国高校采用较多的计算机专业优秀教材,也被众多高校指定为计算机专业考研参考书目。

作为该教材的辅导书,本书具有以下几个方面的特点:

1.整理名校笔记,浓缩内容精华。在参考了国内外名校名师讲授严蔚敏《数据结构》的课堂笔记基础上,本书每章的复习笔记部分对该章的重难点进行了整理,同时对重要知识点进行点拨,因此,本书的内容几乎浓缩了配套教材的知识精华。

2.归纳典型题,强化知识考点。为了进一步巩固和强化各章知识难点的复习,特针对该教材的重难点相应整理了典型强化习题,并对相关知识点进行归纳和延伸,梳理知识点逻辑关系,以达到高效复习的目的。

3.精选考研真题,巩固重难点知识。为了强化对重要知识点的理解,本书精选了部分名校近几年的数据结构考研真题,这些高校大部分以该教材作为考研参考书目。所选考研真题基本涵盖了各个章节的考点和难点,特别注重联系实际,凸显当前热点。

要深深牢记:考研不同一般考试,概念题(名词解释)要当作简答题来回答,简答题要当作论述题来解答,而论述题的答案要像是论文,多答不扣分。有的论述题的答案简直就是一份优秀的论文(其实很多考研真题就是选自一篇专题论文),完全需要当作论文来回答!

本书提供电子书及打印版,方便对照复习。

第1章 绪 论

1.1 复习笔记

一、什么是数据结构

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。

二、基本概念和术语

1数据

数据是对客观事物的符号表示,是计算机科学中所有能输入到计算机中并能被计算机程序处理的符号的总称。

2数据元素

数据元素是数据的基本单位。

3数据对象

数据对象是性质相同的数据元素的集合,是数据的一个子集。

4数据结构

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

(1)数据结构的基本结构

根据数据元素之间关系的不同特性,通常有下列四类基本结构:

①集合。数据元素属于“同一个集合”,并无其他复杂关系。

②线性结构。数据元素之间存在一个对一个的关系。

③树形结构。数据元素之间存在一个对多个的关系。

④图状结构或网状结构。数据元素之间存在多个对多个的关系。

【注意】区分这四种基本结构可以根据元素间的对应关系。

如图1-1所示为上述四类基本结构的关系图。

图1-1 四类基本结构的关系图

(2)数据结构的形式定义

数据结构的形式定义为:

Data_Structure=(D,S)

其中:D表示数据元素的有限集,S表示D上关系的有限集。

(3)数据结构在计算机中的表示

数据结构包括数据元素的表示和关系,在计算机中称为数据的物理结构(又称存储结构)。

其中,关系有两种表示方法:顺序映象和非顺序映象。这两种表示方法对应两种存储结构:顺序存储结构和链式存储结构。

a.顺序映象:用相对位置来表示数据元素之间的逻辑关系。

b.非顺序映象:用指针表示数据元素之间的逻辑关系。

5数据类型

数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

6抽象数据类型

抽象数据类型(ADT)由一个值域和定义在该值域上的一组操作组成。

【注意】抽象数据类型是对数据类型架构的一种全局体现,使我们能够更加清晰地看待某一数据类型。

7多形数据类型

多形数据类型是指其值的成分不确定的数据类型。

8数据操作的类型

基本的操作主要有:

(1)插入

(2)删除

(3)更新

(4)查找

(5)排序

从操作的特性来分,所有的操作可以归结为两类:

加工型操作:改变了(操作之前的)结构的值;

引用型操作:即不改变结构的值,只是查询或求得结构的值。

上述5种操作中除“查找”为引用型操作外,其余都是加工型操作。

9算法

【定义】算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。

【特性】

(1)有穷性

(2)确定性

(3)可行性

(4)输入

(5)输出

【注意】在考试中这五个特性可能出现在选择或者填空题中(通常直接考察其名称)。

三、抽象数据类型的表示与实现

四、算法和算法分析

1算法的描述

算法需要用一种语言来描述,程序框图,程序设计语言等都能对算法进行描述。

【注意】考研笔试中,如果在对应语法不确定的情况下,使用伪码通常也是可以的。

2算法设计的要求

(1)正确性

(2)可读性

(3)健壮性

(4)效率与低存储量需求

3算法效率的度量

算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量,度量一个程序的执行时间通常有两种方法:

(1)事后统计

(2)事前分析估算

①事先考虑消耗时间的因素

②时间复杂度

时间复杂度是关于问题规模的函数,通常用O表示,常见时间复杂度按照数量级递增排列为:

O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(nk)<O(2n)

【注意】需能够对具体的算法进行时间复杂度的分析与计算,尤其在考研中算法时间复杂度的计算不可避免。

4算法的存储空间需求

算法的空间复杂度是对算法运行所占空间的度量。

在度量时一般只考虑算法运行所需额外开销的多少,包括算法实现时定义的中间变量,数组等对存储空间的影响。

原地工作:算法运行所需的额外空间相对输入数据量是常量。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值