栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数据结构--严蔚敏(C语言版)笔记

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构--严蔚敏(C语言版)笔记

目录

第一章 绪论

1.1 复习笔记

一、 什么是数据结构

二、 基本概念和术语

三、 抽象数据类型的实现

四、 算法和算法分析


第一章 绪论

1.1 复习笔记

一、 什么是数据结构

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

二、 基本概念和术语

1. 数据

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

2.数据元素

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

3. 数据对象

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

4. 数据结构

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

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

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

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

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

  3. 属性结构。数据元素之间存在一个对多个的关系;

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

     

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

数据结构的形式定义为Data _Structure = (D,S)

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

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

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

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

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

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

5. 数据类型

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

6.抽象数据类型

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

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

7. 多形数据类型

成分不确定的数据类型。

8. 数据操作的类型

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

加工型操作:增、删、改、排序。

引用型操作:查。

9. 算法

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

特性

  • 有穷性

  • 确定性

  • 可行性

  • 输入

  • 输出

三、 抽象数据类型的实现

四、 算法和算法分析

1. 算法的描述

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

2. 算法设计的要求

  • 正确性

  • 可读性

  • 健壮性

  • 效率与低存储要求

3. 算法效率的度量

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

  1. 事后统计

  2. 事前分析估算

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

    • 时间复杂度

时间复杂度是关于问题规模的函数,通常用O表示,常见时间复杂度按照数量级递增排列为:O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2) <O(n^3) <O(n^k) <O(2^n)

4. 算法的存储空间需求

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/935852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号