数据结构1_绪论

绪论

什么是数据结构

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

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

基本概念和术语

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

数据元素(data element):数据的基本单位。数据元素可以由若干个数据项(data item)组成。数据项是数据的不可分割的最小单位。

数据对象(data object):性质相同的数据元素的集合,是数据的一个子集。

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

数据之间存在的某种关系,称为结构(structure)。通常有4类基本结构:1)集合;2)线性结构;3)树形结构;4)图状结构或网状结构。

结构定义中的关系描述的是数据元素之间的逻辑关系。因此又称为数据的逻辑结构

讨论数据结构的目的是为了在计算机中实现对它的操作。因此还要研究如何在计算机中表示它。

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

在计算机中表示信息的最小单位是二进制数的一位,叫做位(bit)

可以使用一个由若干位组合起来形成的一个位串表示一个数据元素。通常称位串为元素(element)结点(node)。当数据元素由若干个数据项组成时,位串中对应于各个数据项的子位串称为数据域(data field)。元素和结点可以看成是数据元素在计算机中的映像。

数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像非顺序映像。由此得到两种不同的存储结构顺序存储结构链式存储结构

顺序映像的特点:借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。

非顺序映像的特点:借助指向元素存储地址的指针(pointer)表示数据元素之间的逻辑关系。

数据的逻辑结构和物理结构是密切相关的两个方面,以后读者会看到,任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构

如何描述存储结构呢?

不能直接利用内存地址来描述存储结构。可以借用高级程序语言中提供的“数据类型”来描述它。接下来讨论的存储结构是数据结构在C虚拟处理器中的表示,不妨称它为虚拟存储结构

数据类型(data type)是和数据结构密切相关的一个概念。数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

按“值”的不同特性,高级语言中的数据类型可以分为两类:一类是非结构的原子类型,原子类型的值是不可分解的。另一种是结构类型,结构类型的值是由若干个成分按照某种结构组成的,是可以分解的。

数据类型并非局限于高级语言中,每个处理器(计算机硬件系统、操作系统、高级语言、数据库)都提供了一组原子类型或结构类型。引入数据结构的目的,从硬件角度看,是作为解释计算机内存中信息含义的一种手段,而对使用数据类型的

抽象数据类型的表示和实现

算法和算法分析

算法

算法是对特定问题求解步骤的一种描述;

特点:有穷性;确定性;可行性;输入;速出;

算法设计的要求

健壮性:输入非法值时,能适当做出反应,不会产生莫名其妙的结果;

正确性:

可读性:便于阅读交流、修改调试;

效率与低存储量要求:算法执行时间

算法效率的度量

事后统计的方法:

事前分析估算的方法:

算法是有控制结构(顺序、分支、循环)和原操作构成的。算法的时间取决于两者的综合效果。

一般来说算法中基本操作的重复执行次数是问题规模n的某个函数f(n)

算法的时间量度记作:

T(n)=O(f(n))

称作算法的渐近时间复杂度,简称时间复杂度

算法的存储空间需求

还有空间复杂度:与算法所需的存储空间作为量度。

原文地址:https://www.cnblogs.com/grooovvve/p/10398400.html

时间: 2024-07-30 16:49:32

数据结构1_绪论的相关文章

【数据结构】绪论部分

今天由我来跟大家讲一下数据结构的绪论部分吧.数据结构整体复习主要靠理解.理解了学习起来其实是很轻松的事情,学进去了你也会发现很好玩.这篇只是个结构概括,理解就行. 1.1 基本概念 1.数据:即信息. 2.数据元素:数据的基本单位.如:一个学生记录就是一个数据元素,由学号.姓名等数据项构成(数据项为构成数据元素的不可分割的最小单位). 3.数据对象:相同性质的数据元素集合.数据的子集. 4.数据类型:一个值的集合和在此集合上一组操作的总称. 5.抽象数据类型:ADT.一个模型和在此模型上的一组操

考研数据结构之绪论

数据结构 第一章 绪论(数据结构基本概念) 1.1数据结构基本概念 1.数据   数据是信息的载体,是描述客观事物属性的数.字符及能够被输入到计算机并被计算机程序处理的符号的总称.如,1-100的整数. 2.数据元素 数据元素是数据的基本单位,作为一个整体进行处理. (在数据结构课程中,通常将数据元素简称为元素,并误将元素和节点混用,实际上两者是有区别的,数据元素是逻辑概念,在设计存储结构时,数据元素映射成元素或节点,如顺序存储结构中,一个数据元素直接映射成元素,在链式存储结构中,一个数据元素映

数据结构-----(绪论)

1.数据结构的三要素: 1.逻辑结构: 是指元素之间的逻辑关系,与存储无关.包括线性结构和非线性结构. a.线性结构的典型特征是最多只有一个前驱和一个后继.如 堆栈.队列.串(三个受限线性表):线性表.数组... b.非线性不一定,如树.图.集合 2.存储结构:在计算机中的存储形式 包括元素的表示(依据数据类型)和数据之间的关系 a.顺序存储:逻辑上相邻的元素 物理存储也相邻.优点:随机存取 缺点:只能使用一块相邻的存储单元 可能产生很多外部碎片 b.链接存储:不要求逻辑相邻一定物理相邻,借助指

【数据结构】绪论

都是些定义,没什么需要过多注意的.只要知道几个概念就好: 逻辑结构:数据结构中元素之间的关系 物理结构/存储结构:数据结构在计算机中的表示.有两种:顺序存储结构(顺序映像).链式存储结构(非顺序映像)

数据结构之绪论

数据结构就是掌握数据组织和数据处理的方法.同样的数据对象,用不同的数据结构来表示,运算效率可能有明显的差异. 1.数据结构的逻辑结构(独立于计算机):线性结构:线性表,栈,队: 非线性结构:树形结构,图形结构: 2.数据结构的存储结构(物理结构,依赖于计算机):顺序结构,链式结构,索引结构,散列结构.(顺序存储结构借助于相对位置,链式存储结构借助于指针) 3.算法的特性:输入,输出,确定性,有穷性,可行性. 4.算法的时间复杂度:语句的频度指的是该语句执行的次数,一个算法中所有语句的频度之和构成

数据结构学习绪论

概念 数据的概念 数据元素 组成数据的最基本单位 数据项 一个数据由多个数据项组成 数据对象 性质相同的数据元素组成的集合 数据结构 数据结构:是指数据对象中数据元素之间的关系 逻辑结构 集合结构 数据元素之间没有特别关系,仅同属于一个集合 线性结构 数据元素之间是一对一的关系 树形结构 数据元素之间存在一对多的层次关系 图形结构 数据元素间是多对多的关系 物理结构 顺序存储 将数据存储在地址连续的存储单元里面 链式存储 将数据存储到任意的储存单元里面,通过地址保存的方式找到相关联的数据元素 算

第一章——数据结构之绪论

1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分析 1.4.1 算法 1.4.2 算法设计的要求 1.4.3 算法效率的度量 1.4.4 算法的存储 1.1 什么是数据结构 一般来说,用计算机解决一个具体的问题时,大致需要经过下列几个步骤: 1.首先要从具体问题抽象出一个适当的数学模型 2.然后设计一个解此数学模型的算法 3.最后编出程序,进行测试,调整直至得到最终解答 寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间

跟着邓公学数据结构 1-a(绪论)

随着网络技术的发展,线上教育也逐渐的进入人们的视野中,也正是这样,我这个普通大学的学渣也有机会上一些邓俊辉老师的课,初识邓公是因为邓公的数据结构荣获了清华的"新百年教学成就奖",饱受好评,今年下半年我也大二了,开始系统的学习数据结构,虽之前在校算法集训队学习了一点简单算法,但并不是那么系统,所以我开始在学堂在线上学习邓老师的课程. 第一章 (a)计算 如今我们可能喜欢将计算机称之为电脑而不是直接了当的称为计算机,我认为这种俗称虽亲民,但却也失去了计算机最本质的特征--计算. 那么什么是

数据结构 第一章学习小结

数据结构   第一章学习小结 1.数据结构第1章的心得体会: 这周学习了数据结构的绪论及第一章.初步了解了数据结构与算法的相关概念,一开始看书看视频时觉得还挺抽象的,不能够完全理解.但是反复多看了几遍之后,结合例题,自己去操作去跑代码,慢慢觉得容易理解接受起来了.由于现在以网课形式进行教学,老师上课的同时基本还是靠自己去理解学习.当然老师也发挥很大的作用,比如让我们更深入的了解递归的空间复杂度为什么与问题规模有关,又怎样去找到该函数的临界值等等.既锻炼了我们深入思考的能力,也让我们更加清楚了解不