0
点赞
收藏
分享

微信扫一扫

springboot 集成 es--未完结

文章目录

1.1 什么是数据结构

  • 例1图书馆的书目检索系统自动化问题
    在这里插入图片描述

  • 例2 计算机和人对弈问题
    在这里插入图片描述

  • 例3 多叉路口交通灯的管理问题
    在这里插入图片描述

数据结构的地位图
图1.4 数据结构的地位图

1.2 基本概念和术语

数据结构是计算机科学中研究数据组织、存储和管理的学科,它涉及到各种数据的表示、操作和处理。下面是一些基本概念和术语的定义,以及相应的举例解释:

  • 数据结构(Data Structure):
    定义:数据结构是指数据元素之间存在的一种或多种特定关系的集合。
    举例:数组、链表、栈、队列等。

  • 数据元素(Data Element):
    定义:数据结构中的基本单位,通常是具有意义的单个数据项。
    举例:在一个整数数组中,每个整数就是一个数据元素。

  • 数据项(Data Item):
    定义:数据元素中不可分割的最小单位,通常与实际问题中的某个属性或特征相关联。
    举例:在一个学生信息记录中,姓名、年龄、性别等就是数据项。

  • 数据类型(Data Type):
    定义:数据元素的集合以及定义在该集合上的一组操作的总称。
    举例:整数、浮点数、字符、字符串等都是数据类型。

  • 逻辑结构(Logical Structure):
    定义:数据元素之间的逻辑关系,不考虑其在计算机内部的存储表示和实现方式。
    举例:线性结构(如数组、链表)、非线性结构(如树、图)等。

  • 存储结构(Storage Structure):
    定义:数据在计算机内部的存储表示方式,通常包括数据元素的存储位置和关系。
    举例:数组可以使用连续的内存空间来存储,而链表则是通过指针将各个节点连接起来的。

  • 抽象数据类型(Abstract Data Type,ADT):
    定义:数据类型的数学模型及其定义在该模型上的一组操作。
    举例:栈、队列、树等都可以通过ADT来描述其操作和性质,而具体的实现则可以采用不同的数据结构。

ADT 抽象数据类型名 {
   
  数据对象: <数据对象的定义>,
  数据关系: <数据关系的定义>,
  基本操作: <基本操作的定义>
}  

1.3 抽象数据类型的表示与实现

  • 预定义常量类型
// 函数结果状态代码
#define TRUE        1       // 逻辑真
#define FALSE       0       // 逻辑假

#define OK          1       // 操作成功
#define ERROR       0       // 操作失败
#define INFEASIBLE  -1      // 不可行操作
#define OVERFLOW    -2      // 内存溢出

// Status 是函数的返回类型,其值是函数结果状态代码
typedef int Status;

  • 数据结构的表示(存储结构)用类型定义(typedef)描述。数据元素类型约定为ElemType,由用户在使用该数据类型时自行定义。
  • 基本操作的算法都用以下形式的函数描述:
函数类型 函数名(函数参数表)(
	// 算法说明
	语句序列
}	// 函数名

//举例: 
#define OK 1
#define ERROR 0
typedef int Status; 
// 初始化三元组
Status InitTriplet(int** T, int v1, int v2, int v3) {
   
    // 算法说明: 分配内存并初始化三元组,使其包含三个元素,分别为v1, v2, v3
    *T = (int*)malloc(3 * sizeof(int));
    if (*T == NULL) {
   
        return ERROR; // 内存分配失败
    }
    (*T)[0] = v1;
    (*T)[1] = v2;
    (*T)[2] = v3;
    return OK;
} // InitTriplet 
  • 赋值语句
 1. 简单赋值  
变量名 = 表达式;
示例: int a = 5;

2. 串联赋值 
变量名1 = 变量名2 == 变量名k = 表达式;
示例: 
int a, b, c;
a = b = c = 10;

3. 成组赋值 
(变量名1, 变量名2, ..., 变量名k) = (表达式1, 表达式2, ..., 表达式k);
示例:
int a, b, c;
(a, b, c) = (1, 2, 3); // C语言不支持此语法,这是一个假设的示例

4. 结构赋值 
结构名 = 结构名;
结构名 = (1, ..., 值k);
示例:
struct Point {
   
    <
举报

相关推荐

0 条评论