数据结构绪论
数据结构
数据结构是计算机存储、组织数据的方式,是指数据在计算机中的表示、存储、管理、运算和处理方式。数据结构是计算机科学中非常重要的基础,它影响着计算机系统的性能、效率、可靠性、可扩展性、可维护性、可读性、可理解性等方方面面。
基本概念
- 数据(data):能够输入到计算机中并被计算机程序处理的信息,包括文字、表格、图像等,都称为数据。
- 数据元素(data element):数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
- 一个数据元素包含若干个数据项(data item)
- 数据元素、 数据项和数据的逻辑结构在计算机中的表示又称为结点、数据域和存储(物理)结构。
例:
- 两张表就是数据
- 单独的一张表就称为数据对象,即人员表是一个数据对象,课程表也是一个数据对象
- 每张表中的每一行就称为数据元素
- 姓名,性别,身高,课程代号,课程名就称为数据项
数据结构是相互之间存在一种或者多种特定关系的数据元素的集合
数据结构包括逻辑结构和存储结构两个层次
逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。
物理结构又叫存储结构,分为两种,顺序存储结构、链式存储结构。
逻辑结构
逻辑结构是指数据元素之间的关系,是数据结构的抽象概念。
集合结构
集合结构是指数据元素之间没有明显的顺序关系,集合结构中的数据元素可以重复,但不允许有空元素。
数据元素同属一个集合,单个数据元素之间没有任何关系
线性结构
线性结构是指数据元素之间存在一对一的顺序关系,即前一个数据元素的后继是下一个数据元素。
数据元素之间存在一对一的顺序关系
树形结构
树形结构是指数据元素之间存在一对多的层次关系,即一个数据元素可以有零个或多个子数据元素。
数据元素之间存在一对多的层次关系
图形结构
图形结构是指数据元素之间存在多对多的关系,即一个数据元素可以与零个或多个其他数据元素相连接。
数据元素之间存在多对多的关系
存储结构
存储结构是指数据元素在计算机中的表示方式,是数据结构的物理实现。
顺序存储结构
顺序存储结构是指数据元素在计算机中的物理存储顺序与逻辑结构中的顺序一致。
顺序存储结构是把数据元素放到地址连续的存储单元里面,其数据间的逻辑关系和物理关系是一致的。之前学习的数组就是一种顺序存储结构。
链式存储结构
链式存储结构是指数据元素在计算机中的物理存储顺序与逻辑结构中的顺序不一致。
链式存储结构:是把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的也可以是不连续的。
数据类型和抽象数据类型
a、数据类型:一个值的集合及定义在这个值集上的一组操作的总称。
一般包括整型、实型、字符型等原子类型外,还有数组、结构体和指针等结构类型。
b、抽象数据类型
抽象数据类型(Abstract Data Type,ADT),类似C语言中的结构体以及C++语言中的类.
通俗的讲,抽象数据类型,泛指除基本数据类型以外的数据类型。
算法和算法分析
它是指令的有限序列,其中每一条指令表示一个或多个算法(algorithm)是对特定问题求解步骤的一种描述操作;此外,一个算法还具有下列5个重要特性:
1.有穷性: 一个算法必须总是(对合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成
2.确定性: 算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。并且,在任何条件下,算法只有惟一的一条执行路径,即对于相同的输入只能得出相同的输出。
3.可行性: 一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。
4.输入: 一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合。
5.输出: 一个算法有一个或多个的输出,这些输出是同输入有着某些特定关系的量。
时间复杂度
时间复杂度指算法中各语句执行时间的总和
算法的时间复杂度取决于:
- 问题的规模
- 待处理数据的初态
算法的时间复杂度不仅与问题的规模有关,还与问题的其他因素有关。如某些排序的算法,其执行时间与待排序记录的初始状态有关。
为此,有时会对算法有最好、最坏以及平均时间复杂度的评价。
空间复杂度
空间复杂度只需要分析辅助变量所占的额外空间。
空间复杂度:S(n)=O(f(n))
如果算法执行所需要的临时空间不随着某个变量n的大小而变化,即此算法空间复杂度为一个常量,可表示为 O(1)。
简述下列概念:数据、数据元素、数据项、类数据对象、数据结构、逻辑结构、存储结构、抽象数据类型.
简述下列概念:数据、数据元素、数据项、类数据对象、数据结构、逻辑结构、存储结构、抽象数据类型.
数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。在有些情况下,数据元素也称为元素、结点、记录等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
- Title: 数据结构绪论
- Author: time will tell
- Created at : 2024-09-24 20:54:52
- Updated at : 2024-07-23 18:10:14
- Link: https://sbwrn.github.io/2024/09/24/数据结构/
- License: This work is licensed under CC BY-NC-SA 4.0.