精华内容
下载资源
问答
  • 2019-09-13 10:28:11

    数据

    数据(data)是对所有的客观事物做一个符号表示,在计算机科学当中,所有能输入到计算机中并且能够被计算机程序处理的符号总称。

    int a;
    scanf("%d",&a);		//这就是给计算机输入了一个int型的数据
    char b;
    scanf("%c",&b);		//给计算机输入了一个char型的数据
    

    因此,在计算机科学当中,数据的含义十分广泛,如声音,图片,视频等都属于数据。

    数据元素

    数据元素(data element)是数据的基本单位,在计算机程序中,通常作为一个整体进行处理,例如“树”的结点,“图”的结点。

    数据项

    在一定的情况下,一个数据元素可能由多个数据项组成。例如图书管理系统中的一本书,这本书就属于数据元素,而书的书名,作者,编号等等都属于数据项。数据项是数据不可分割的最小单位

    数据对象

    数据对象(data object)是一些性质相同的数据元素的集合,是数据的一个子集。例如,整数数据对象是整数集合N = {0,±1,±2,……,±N}。

    数据结构

    数据结构1(data structure)是相互之间存在一定关系的数据元素的集合。
    根据数据元素的不同关系的特性主要讲数据结构分为以下4种基本结构:
    集合、线性关系、树形结构和图状结构或网状结构。

    集合

    结构中的数据元素,除了“同一个集合”的关系之外,并没有其他关系,可以形象地理解为是绑在一起,而非自愿。

    线性关系

    结构中的数据元素之间存在一个一一对应的关系.

    树形结构

    结构中的数据元素存在一对多的关系。

    图状结构或网状结构

    结构中的数据元素存在多对多的关系。

    逻辑结构

    在结构中定义的这种“关系”,实际上是描述的数据元素之间的逻辑关系,因此又被称为是数据的逻辑结构。换句话说,也就是逻辑结构包括以上描述的四种基本结构:集合结构、线性结构、树形结构和图状结构。

    存储结构

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

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

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

    任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构


    1. 数据结构至今没有一个准确的定义,不同的人对其的意思也不尽相同。 ↩︎

    更多相关内容
  • 数据结构的基本概念和术语,算法的时间复杂度,讲述了数据结构的一些概念点,也就是最基本的一些东西,还有如何计算算法的时间复杂度之类的一些问题及举例
  • 1.2 基本概念和术语 一数据与数据结构 数据: 所有能输入到计算机中且能被计算机程序处理 的符号的总称 是计算机操作的对象的总称 是计算机处理的信息的某种特定的符号表示形式 数据元素 是数据集合中的一个个体是...
  • 数据结构基本概念和术语

    万次阅读 2021-05-29 07:11:10
    数据:计算机中可以操作的对象 1.可以输入计算机,能被计算机识别 2.可以被计算机处理 数据项:构成数据的最小单位,若干个数据项构成数据元素。(人这个数据元素中,眼耳鼻等是数据项) ...逻辑结构和物理结构:...

    数据:计算机中可以操作的对象

    1.可以输入计算机,能被计算机识别

    2.可以被计算机处理

    数据项:构成数据的最小单位,若干个数据项构成数据元素。(人这个数据元素中,眼耳鼻等是数据项)

    数据元素:组成数据的、有一定意义的基本单位。(人类中,人是数据元素)

    数据对象:性质相同的数据元素的集合,是数据的子集。(数据可以包含不同的数据对象)

    数据项——数据元素——数据对象——数据

     

    逻辑结构和物理结构:

    逻辑结构:数据对象中的数据元素之间的相互关系。

    集合结构:集合中各数据元素相互独立没有对应关系。
    线性结构:数据元素一对一的关系。
    树形结构:数据元素一对多。
    图形结构:数据元素多对多。
    物理结构(存储结构):数据的逻辑结构在计算机中的存储形式。

    顺序存储:把数据元素放在地址连续的内存单元
    链式存储:数据元素放在任意的内存单元
    ---------------------
    作者:两块腹肌的yu先生
    来源:CSDN
    原文:https://blog.csdn.net/qq_28686911/article/details/82818170
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 数据data 对客观事物的符号表示在计算机科学中是指所有能办理入到计算机中并被计算机程序处理的符号的总称 ...结构structure 数据元素相互之间的关系 数据结构data structure 是相互之间存在一种或多种特定关系的数据
  • 数据结构与算法基础1.1 数据结构研究对象计算机解决问题的步骤:1.3 基本概念和术语1. 数据(data):能够输入到计算机中,并且能被计算机处理的符号的集合。2. 数据元素(data element):数据的基本单位,它在...

    数据结构与算法基础

    1.1 数据结构研究对象

    计算机解决问题的步骤:


    1.3 基本概念和术语

    1.  数据(data:能够输入到计算机中,并且能被计算机处理的符号的集合。

    2.  数据元素(data element:数据的基本单位,它在计算机处理和程序设计中通常被作为一个整体进行考虑和处理。

    3.  数据项(data item:是数据不可分割的最小单位。一个数据元素可以由若干个数据项组成。

    4.  数据对象(data object:是具有相同特征的数据元素的集合,是数据的一个子集。

    5.  数据结构(data structure:是相互之间存在的一种或多种特定关系的数据元素的集合。元素之间的关系称为结构,形式定义为一个二元组。即:

    Data_Structure=(D,S)

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


    1.  数据的逻辑结构:指数据结构中数据元素之间的逻辑关系。数据逻辑的基本结构有四种:

      (1集合:结构中的数据元素之间除了“同属于一个集合”以外,无其他关系。

      (2线性结构:结构中的数据元素之间存在一对一的关系。

      (3树形结构:结构中的数据元素之间存在一对多的关系。

      (4图状结构(网状结构):结构中的数据元素之间存在多对多的关系。

    四类基本结构的图示:(它们的复杂度依次递增)

    集合结构:线性结构:

    树状结构:网状结构:

    数据的存储结构(physical structure:是数据的逻辑结构在计算机内存中的存储方式。又称为物理结构。

     (1顺序存储结构:是利用数据元素在存储器中的相对位置来表示元素间的逻辑顺序。

    (2链式存储结构:是利用结点中的指针来表示数据元素之间的关系。(它通常借助程序设计语言的指针来实现)

    特点:借助指示元素的存储地址的指针表示数据元素之间的逻辑关系。


    1.4数据类型与抽象类型

    1.4.1 数据类型

    数据类型:是在一种程序设计语言中,变量所具有的数据种类,它限定了变量的取值范围和可做的操作。


    1.4.2 抽象数据类型

    抽象数据类型(abstract data type,ADT):是指一个数学模型以及定义在该模型上的一组操作。

    我们不需要了解它的实现方法和细节,只关心它的逻辑特征。

    特点:使用和实现相分离,实行封装和隐藏。在抽象数据类型设计时,把类型的定义与其实现分离开来。


    抽象数据类型的三要素:元素、关系、操作。抽象数据类型可以用三元组表示为:

                   (D,R,P)

    其中:D是数据对象,R是D上的关系集,P是对D的基本操作集。


    1.5 算法与算法分析

    1.5.1 算法

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

    算法的重要特性:

    1.  有穷性:一个算法必须总是在执行有穷步骤后结束,且每一步都必须在有穷的时间内完成。

    2.  可行性:一个算法中所描述的操作,必须可以通过已经实现的基本运算的有限次执行来完成。

    3.  确定性:算法中的每一条指令必须没有二义性,对于相同的输入必须有相同的结果。

    4.  一个算法有零个或多个输入:这些输入取自某个特定的对象的集合。

    5.  一个算法有一个或多个输出:他们是和输入有着某些特定关系的量,通常是对输入进行加工得到的结果。

    前三条是算法的基本特性。


    一个好的算法应满足以下要求:

    1.  正确性:通常包含以下几个层次:

    程序中不含语法错误。

    程序对于机组给定的输入数据都能得出满足要求的结果

    程序对于精心选择的、典型的、苛刻的且带有刁难型的几

       组输入都能得出满足要求的结果。

    程序对一切合法输入都能得出满足要求的结果。

    2.  可读性:算法应该易于理解,晦涩难懂难以调试。

    3.  健壮性:当输入的数据非法时,应该返回一个表示错误或错误性质的值。

    4.  高效性:算法应该具有时间执行时间和算法执行过程中的最大存储空间两方面的效率,时间复杂度和空间复       杂度是两者不可兼得的。

    1.5.2 算法分析

        算法分析主要是指分析算法的效率。


        1.算法的时间复杂度

         (1)事后统计方法:主要是在算法的关键部位插入计时器,当算法执行时打开计时器,终止时关闭,得出算法执行时间的差值,从而衡量算法的效率。但是具有较大的缺陷。

           (2)事前分析估算法:

                 ①算法所采取的规模

                 ②问题的规模

                 ③程序设计语言

                 ④编译的代码质量

                 ⑤机器执行指令的速度

       为了避开软硬件环境因素的影响,假定一个算法的运行时间只是问题规模的函数,那么在问题规模一定的情况下,算法采取的策略将直接决定算法的效率。凡是关于时间复杂度的求法均只与问题的规模有关。

                一个算法由控制结构和原操作组成。

    将原操作重复执行的次数与问题规模n之间的关系记为函数:f(n)。

    当讨论一个程序的运行时间时,我们注重的是时间的增长率。随着问题规模的增大,它的增长率与f(n)的增长率相近,所以它们在数量级上是一致的。因此当问题规模n趋于∞时,把f(n)的数量级(阶)成为算法的渐近时间复杂度,简称时间复杂度,记为T(n)。

                 T(n=O(f(n))

    它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。

    时间复杂度的计算方法:

    假定每条语句的执行时间为单位时间,算法的时间复杂度是该算法中所有员操作语句的执行频度之和。


    例1-5 赋值语句

    temp=1;
    i=j;
    j=temp;

    时间复杂度T(n)=O(1)

    算法执行时间是一个与问题规模n无关的常数,则算法的时间复杂度为常数阶,即:T(n)=O(1)。


    例1-6 简单循环

    y=0;
    for(k=1;k<=n;k++)  		//嵌套层数为0
        x++;
    for(i=1;i<=n;i++) 		//嵌套层数为1
        for(j=1;j<=n;j++)
            y++;    		//以这条语句的频度为基准,嵌套

    时间复杂度T(n)=O(n2),当有若干个循环语句时,算法的时间复杂度是由嵌套层数最多的循环语句中最里层语句的频度决定的。


    例1-7 选择分支结构

    if(x>n)
    x++;
    else
       for(j=1;j<=n<j++)
           x++;

    时间复杂度T(n)=O(n)

    如果是选择分支结构,时间复杂度决定于各分支中最耗时的部分。


    例1-8 在数组A[n]中查找值为k的元素,若找到,则返回其位置i(0<=i<n),否则返回-1。

    i=n-1;
    while((i>=0)&&(A[i]!=k))
       i--;
    return i;

    该问题不仅与规模n有关,而且与值为k的元素在数组A中位置有关。所以要分情况:最好情况下(一开始就找到了)时间复杂度为T(n)=O(1);最坏情况下(最后一次才找到目标元素)时间复杂度为T(n)=O(n)。(复杂程度依次递增)


    2. 空间复杂度

    定义:该算法所耗费的存储空间,它也是问题规模的函数,记作S(n)=O(f(n))。渐进空间复杂度也就是空间复杂度。

    一个算法在计算机上所占用的存储空间取决于三点:

    (1)    存储算法本身所占用的存储空间

    (2)    算法的输入/输出数据所占用的存储空间

    (3)    算法在运行过程中临时占用的存储空间


    总结

    弄清数据结构的基本术语,弄清二元组中变量含义,区别数据的逻辑结构以及存储结构的概念,弄清抽象数据类型(ADT)和三元组中变量含义,弄清算法的定义、特性以及算法的设计要求,重点掌握算法的时间复杂度分析方法。

    展开全文
  • 数据结构的基本概念和术语汇总

    千次阅读 2020-06-26 20:20:53
    数据结构的基本概念和术语汇总,方便查阅。

    绪论

    什么是数据结构?

    一般来说,用计算机解决一个具体问题时,大致需要经过下列几个步骤:

    ​ 1️⃣ 首先要从具体问题抽象出一个适当的数学模型

    ​ 2️⃣ 然后设计一个解决此数学模型的算法

    ​ 3️⃣ 最后编出程序,进行测试、调整 直至得到最终解答

    自然语言 ——> 抽象数学模型 ——> 程序语言 ——> 运算


    基本概念和术语


    算法和算法分析


    线性结构

    线性表

    • 线性表(Linear List)是最常用且最简单的一种数据结构。一个线性是 n 个数据元素的有限序列。
    • 线性表中元素可以是各种各样的,同一线性表中元素必定具有相同的特性,即属同一数据对象,相邻数据元素之间存在着序偶关系

    线性表的顺序表示

    线性表的顺序表示指的是 用一组地址连续的存储单元 依次存储线性表的数据元素。

    线性表中任一数据元素都可以 随机存取 ,所以 线性表的顺序存储结构是一种随机存取的存储结构


    线性表的链式表示

    n 个结点链接成一个链表,即为线性表的链式存储结构。

    由于此链表的每一个结点中只包含一个指针域,故又称 线性链表单链表

    单链表 中,取得第 i 个数据元素必须从头指针出发寻找,因此 单链表是一种非随机存取的存储结构


    循环链表(Circular Linked List) 是另一种形式的链式存储结构。它的特点是表中最后一个结点的指正域指向头结点整个链表形成一个环

    循环链表中任一结点出发均可找到表中其他结点。


    双向链表(Double Linked List) 的结点有两个指针域,其一指向直接后继,另一指向直接前驱。

    双向链表特点就是更方便找前驱结点。


    线性表的顺序、链式存储结构比较

    顺序表与链表的比较


    栈和队列

    栈和队列也是线性表, 其特殊性在于栈和队列的基本操作是线性表的子集,他们是操作受限的线性表


    非线性结构

    树和二叉树


    图的定义和基本术语

    G = ( V , E ) G = (V,E) G=(V,E)

    • V:顶点(数据元素)的 有穷非空 集合
    • E:边的 有穷 集合

    无向图:每条边都是无方向的

    无向图结构


    有向图:每条边都是有方向的

    有向图的结构


    完全图:任意两个点都有一条边相连

    无向、有向完全图


    稀疏图: 有很少边或弧的图

    稠密图:有较多边或弧的图

    :边、弧带权的图

    邻接:有边、弧相连的两个顶点之间的关系

    • 存在 ( V i , V j ) (V_i, V_j) (Vi,Vj),则称 V i V_i Vi V j V_j Vj 互为 邻接点
    • 存在 < V i , V j > <V_i, V_j > <Vi,Vj>,则称 V i V_i Vi 邻接到 V j V_j Vj V j V_j Vj 邻接于 V i V_i Vi

    关联(依附):边、弧与顶点之间的关系

    • 存在 ( V i , V j ) (V_i, V_j) (Vi,Vj) < V i , V j > <V_i, V_j > <Vi,Vj>,则称该边、弧关联于 V i V_i Vi V j V_j Vj

    顶点的度:与该顶点相关联的边的数目,记为 T D ( v ) TD_{(v)} TD(v)

    有向图 中,顶点的度等于该顶点的 入度出度 之和
    顶点 V 的入度 是以 V 为 终点 的有向边的条数,记作 I D ( v ) ID_{(v)} ID(v)
    顶点 V 的出度 是以 V 为 始点 的有向边的条数,记作 O D ( v ) OD_{(v)} OD(v)


    路径:接续的边构成的顶点序列。

    路径长度:路径上边或弧的数目 / 权值之和。

    回路(环):第一个顶点和最后一个顶点相同的路径。

    简单路径:除路径起点和终点可以相同外,其余顶点均不相同的路径。

    简单回路(简单环):除路径起点和终点相同外,其余顶点均不相同的路径。

    简单路径、非简单路径、回路


    连通图(强连通图)

    在无(有)向图 G = ( V , E ) G=( V, {E} ) G=(V,E) 中,若对任何两个顶点 v、u 都存在从 v 到 u 的路径,

    则称 G 是 连通图(强连通图)。

    连通图


    权与网

    • 图中边或弧所具有的相关数称为 。表明从一个顶点到另一一个顶点的距离或耗费。
    • 带权的图称为

    子图

    设有两个图 G = ( V , { E } ) G= (V, \{E\}) G=(V,{E}) G 1 = ( V 1 , { E 1 } ) G_1= (V1, \{E_1\}) G1=(V1,{E1}),若 V 1 ⊆ V , E 1 ⊆ E V_1 \subseteq V, E_1 \subseteq E V1V,E1E,则称 G 1 G_1 G1 G G G子图

    子图


    连通分量(强连通分量)

    • 无向图 G 的 极大连通子图 称为 G 的 连通分量
    • 极大连通子图意思是:该子图是G连通子图,将G的任何不在该子图中的顶点加入,子图不再通

    连通分量


    有向图 G 的 极大强连通子图 称为 G 的 强连通分量

    极大强连通子图意思是:

    该子图是 G 的强连通子图,将 D 的任何不在该子图中的顶点加入,子图不再是强连通的。

    强连通分量


    极小连通子图:该子图是 G 的连通子图,在该子图中删除任何一条边,子图不再连通。

    生成树:包含无向图 G 所有顶点的极小连通子图。

    生成森林:对非连通图,由各个连通分量的生成树的集合。

    生成树

    ✍ 码字不易,记得点赞 👍 收藏 ⭐️

    展开全文
  • 基本概念和术语2.逻辑结构物理结构3.抽象数据类型(二)算法1.算法特性2.算法设计要求3.算法效率度量方法4.函数的渐进增长5.算法时间复杂度:6.算法空间复杂度: (一)数据结构绪论 1.基本概念和术语 数据:是...
  • 一、基本概念和术语 程序设计 = 数据结构 + 算法 数据:计算机可以操作的对象,能被计算机识别,并输入给计算机处理的符号集合。 数据元素:是组成数据的,有一定意义的基本单位。 数据项:一个数据元素可以由...
  • (一)数据元素、数据结构、抽象数据类型等概念 (二)算法设计的基本要求 (三)语句的频度估算时间复杂度 二、线性表 (一)线性表的定义基本操作 (二)线性表的实现 1.顺序存储结构 2.链式存储结构 3.线性表的应用 三...
  • 目录数据结构-绪论-基本概念术语数据元素(Data Element)数据项(Data Item)数据结构逻辑结构存储结构基本数据类型抽象数据类型 数据元素(Data Element) 数据的基本单位,可由若干个数据项组成 数据项...
  • 1、数据(Data) 是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。如图象、声音等都可以通过编码而归之于数据的范畴。 2、数据元素(Data ... 例如数据结构教...
  • 程序概念名词。在软件开发过程中,需要理解相关知识点,把握主要的含义。
  • 数据结构——基本概念和术语

    千次阅读 2016-09-26 23:10:29
    第一章 绪论 1.1 什么是数据结构 ...1.2 基本概念和术语 ·数据(data):所有能被输入到计算机中,且被计算机处理的符号的集合是计算机操作对  象的总称。 ·数据元素(data element)
  • 数据结构 第一章 绪 论 数据结构C语言版 第一章 绪 论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法算法分析 1.4.1 算法 1.4.2 算法设计的要求 1.4.3 算法效率的度量 1.4.4 算法...
  • 数据结构是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系操作的学科。基本概念和术语*数据(data)–所有能输入到计算机中去的描述客观事物的符号的总称 *数据元素(data element)–数据的...
  • 数据结构的基本概念和术语 写程序的“第一步”

    千次阅读 多人点赞 2020-04-07 14:03:59
    数据结构的基本概念和术语 程序设计 = 数据结构 + 算法 本文章部分内容引用自《大话数据结构》清华大学出版社 数据 数据的概念:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给...
  • 数据结构基础概念

    万次阅读 多人点赞 2017-11-14 13:44:24
    数据结构一些概念 数据结构就是研究数据的逻辑结构物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。数据:所有能被输入到计算机中,且能...
  • 2020/3/7 王道考研数据结构 第五章 树与二叉树 1 本节内容 树 定义 基本术语 王道考研/ 2 王道考研/ 1 2020/3/7 知识总览 王道考研/ 3 树的基本概念 根结点 边 A
  • [数据结构]基本概念和术语

    千次阅读 2016-10-15 19:53:54
    第一章 绪论 1.1 什么是数据结构 ...1.2 基本概念和术语 ·数据(data):所有能被输入到计算机中,且被计算机处理的符号的集合是计算机操作对  象的总称。 ·数据元素(data element)
  • 主要介绍了java数据结构之树基本概念解析及代码示例,介绍了树的定义,基本术语,主要操作及实现等相关内容,具有一定参考价值,需要的朋友可了解下。
  • 数据结构之树的相关术语

    千次阅读 2021-01-01 19:26:15
    (1)结点(node) 树的结点由数据元素及其若干分支组成,如下图所示: (2)树子树(subtree) 以根结点为根的树为全树(或树),以其他结点作为根结点的树为子数 所以当谈到以哪个结点为根结点,就应该知道指的是...
  • 数据结构总结.doc

    2019-11-23 14:09:47
    1.1 数据结构的基本概念 1.1.1 基本概念和术语 1.数据 2.数据元素:可由若干数据项组成,数据项是不可分割的最小单位 3.数据对象:具有相同性质的数据元素的集合 4.数据类型:是一个值的集合定义在此集合上一...
  • 严蔚敏老师版《数据结构》笔记之基本概念和术语

    万次阅读 多人点赞 2018-09-07 01:40:25
    1. 什么是数据结构 如果要写好一个程序,必须分析待处理的对象的...2. 基本概念和术语: (1) 数据(data):在CS中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 (2)数据元素(data element)...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助...一、基本概念和术语? 1.数据 数据是描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别,并输入到计算机处理的符号集合。 (数据不..
  • 数据结构基础概念.pdf

    2020-03-16 21:40:53
    1.1数据结构基础概念 数据是表征客观事物的可记录可识别的符号集合数据是信息处理的核心基础 数据结构和算法是计算机科学的基石 基础概念重要术语 1 数据描述客观事物的数值字符以及一切能输入到计算机且 能被处理的...
  • 数据结构学习笔记1

    2021-01-07 09:37:36
    基本概念和术语 数据:是客观事物的符号表示,能够输入到计算机中并能被计算机程序处理的符号的总称 数据元素:是数据的基本单位,用于完整地描述一个对象 数据对象:是性质相同的数据元素的集合,是数据的一个子集 ...
  • 1、基本概念和术语数据:是对客观事物的符号表示。数据元素:数据的基本单位,一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位数据对象:性质相同的数据元素的集合是数据的一个子集数据...
  • ​1.数据:描述客观事物的数字、字符以及能输入机器且被处理的各种符号的集合。...数据结构:指相互之间存在一种或多种特定关系的数据元素的集合,它指的是数据元素之间的相互关系,即数据的组织形式。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 103,634
精华内容 41,453
关键字:

数据结构的概念和术语

数据结构 订阅