编程语言
首页 > 编程语言> > 数据结构第一章 绪论 基本概念与算法分析

数据结构第一章 绪论 基本概念与算法分析

作者:互联网

数据结构

1.数据

2.数据元素和数据项

3.数据对象

4.数据对象与数据元素

5.数据结构

  1. 数据结构

    • 数据元素不是孤立存在的,他们之间存在着某种关系,数据元素相互之间的关系成为结构

    • 是指相互之间存在着一种或者多种特定关系的数据元素的集合

    • 是带有结构的数据元素的集合

  2. 数据结构包括的内容

    • 数据元素之间的逻辑关系,称为逻辑结构
    • 数据元素及其关系在计算机内存中表示(又称为映像),称为数据机构的物理结构或者数据的存储结构
    • 数据的运算和实现,及对数据元素可以施加的操作在相应的存储结构上的实现

数据结构的两个层次

逻辑机构的种类

划分方法一

  1. 线性结构
    • 有且仅有一个开始和一个终端节点并且所有节点最多只有一个直接前趋和一个直接后续
    • 例如:线性表,栈,队列,串
    • image-20210625102342240
  2. 非线性结构
    • 一个节点可能有多个直接前趋,和直接后续
    • 例如:树, 图
    • image-20210625102321211

划分方法二 --- (四类基本逻辑结构)

  1. 集合机构:数据中的数据元素之间除了同属与一个集合的关系外,无任何其他关系
  2. 线性结构:结构中的数据元素之间存在着一对一的线性关系
  3. 树形结构:结构中数据元素存在着一对多的层次关系
  4. 图状结构网状结构:机构中的数据元素之间存在这多对多的任意关系
  5. 四类基本结构)

存储结构

1.顺序结构

2.链式结构

3.索引存储结构

4.散列存储结构

数据类型和抽象数据类型

数据类型

1.抽象数据类型(Abstract Data Type, ADT)

2.抽象数据类型的定义形式

抽象数据类型可用(D,S,P)三元组表示
其中:D 是数据对象
S 是D上的关系集
P 是对D的基本操作集

3.抽象数据的具体化

算法和算法分析

算法的定义

算法的描述

算法与程序

算法特性(有五种)

算法设计的要求

评价算法

事前分析法(时间效率)

空间效率

// 将一维数组a中的n个逆序存放到原数组中
// 算法一
for(i = 0;i < n/2; i++)
{
    t = a[i];
    a[i] = a[n-i-1];
    a[n-i-1] = t;   //其中t为辅助空间
}
//算法二
for(i = 0;i < n; i++)
{
    b[i] = a[i];  //其中b[i]为辅助空间
}
for( i = 0; i < n; i++)
{
    a[i] = b[n-1-i];
}

第一个的空间复杂度为S(n) = O(1);因为辅助空间不随着n的增长而增长

第二个空间复杂度为S(n) = O(n); n越大b[n]所占的空间越大

所以第一个算法比较好

标签:imagpart,realpart,绪论,元素,算法,Complex,数据结构,数据,基本概念
来源: https://www.cnblogs.com/nuli-fendou/p/14932431.html