lxmoe的数据结构笔记(二)

177 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情

基础知识

  1. 数据

    • 数据分为数值型与非数值型数据(凡是能输入到计算机中的且被计算机识别处理的符号总称)
  2. 数据元素

    • 数据的基本单位,数据项是数据最小单位(不可分割)
  3. 数据对象

    • 相同性质的数据的集合就是数据的一个子集
  4. 数据结构

    • 数据元素之间存在一种或者多种关系的集合
  5. 逻辑结构

    • 分为四种 (1)集合(数据元素之间没有任何的关系) (2)线性结构(数据元素之间是一对一的关系) 除了开始结点与终端结点之外,其余结点有且只有一个直接前驱与一个直接后继 (3)树形结构(数据元素之间是一对多的关系) 除了根结点之外,其余结点只存在一个直接前驱,所有结点都可以有或者没有直接后继,也可以有多个直接后继 (4)图状结构或网状结构(数据元素之间是多对多的关系) 每个结点之间可以存在多个之间前驱和多个直接后继
  6. 物理结构

    • 物理结构又叫储存结构,指的是在计算机中的储存结构,储存的是元素之间的关系与值 分为顺序和链式俩种储存结构

    1. 在顺序存储结构中,逻辑上相邻的结点在物理位置上一定相邻。

    2. 在链式存储结构中,每个数据元素都是以结点的形式进行存储的。 结点通常包括两个部分:数据域和指针域。其中,数据域用来存储数据元素的值,指针域用来指向下一个数据元素的存放位置,即结点间的逻辑关系可由指针进行表示。

      所以在链式存储结构中,逻辑上相邻的结点在物理位置上可以相邻也可以不相令邻。

  7. 数据类型

    • 数据类型是一个值的集合和定义在这个值集上的一组操作的集合。
  8. 结构类型

struct Student
{
long number;
char name[10];
char sex[3];
int age,
}

通过上述定义,用户自定义的结构体struct Student就可像C语言中的基本数据类型char,i nt,float-一样使用。

算法部分

算法特性:有穷性,确定性,可行性,输入,输出
好算法具备的特征: 正确性,可读性,健壮性,**时间效率高和储存量低**

算法时间复杂度的计算步骤: 1、找到算法中执行次数最多的语句,计算它的语句频度,也就是计算它的执行次数; 2、保留语句频度的最高次幂,忽略最高次幂的系数; 3、将算法执行次数的数量级放入O记号中。