美文网首页
数据结构 第一章 绪论

数据结构 第一章 绪论

作者: 小明同学机器人 | 来源:发表于2020-05-22 18:12 被阅读0次

第一章 绪论

1.1 计算机研究的问题

  • 数值计算: 解决数学问题

  • 非数值计算:管理系统(数据结构)

    DS(Data structure):是一门非数值计算程序的操作对象,以及这些对象之间关系和操作的学科(增删改查)。

1.2 数据、数据元素、数据项和数据对象

  • 数据:客观事物的符号表示 ,能输入到计算里面的,并能被计算机识别处理的总称。(一整张学生表都是数据)
  • 数据元素:数据的基本单位。(如一条记录)完整的描述。
  • 数据项:组成数据元素、独立、不可分割的最小单位。
  • 数据对象:性质相同的数据元素的集合,数据的子集。

数据结构(DR)(DS):

  • 数据元素的集合
  • 数据元素之间存在一种或者多种关系的集合

数据元素+结构

结构(逻辑结构和存储结构)

  • 逻辑结构(给人看) 从逻辑上描述数据,与数据存储无关,是独立于计算机的。

线性结构 O---O----O----O O元素 ----关系 (1对1)

树结构(一对多)

图结构或者网状结构(多对多)

集合结构 (0对0)

逻辑 分成两大类

线性结构 栈、队列,线性表,串数组,广义表

非线性结构:树,二叉树,图,有向图,无向图,集合

<img src="https://i.loli.net/2020/05/22/2IwURqcBiFulQma.jpg" />

  • 存储结构(物理结构)(给机器看) 数据对象在计算机的存储表示
  • 顺序存储
  • 链式存储

数据类型

  • 基本类型
  • 自定义(结构体)

抽象数据类型

1数据对象:集合D

2数据关系:S

3基本操作:P

举例 ADT(abstract data type)=(DSP) studentList

D数据对象{a,b,c,d}

S数据关系{<a,b><b,c><a,d>}

P基本操作

  • 实例化操作
  • 添加学生
  • 删除学生
  • 修改学生
  • 查找学生

算法

  • 解决问题的有限操作序列(操作步骤)

算法的重要特征:

  1. 有穷性:每一步都在有穷时间内完成
  2. 确定性:确切的规定,不产生二义性
  3. 可行性:要由可实现的基本操作执行运算有限次来实现
  4. 输入:0或者多个输入
  5. 输出:1个或者多个输出

评价算法的基本标准

  1. 正确性
  2. 可读性
  3. 健壮性
  4. 高效性:时间快------- 空间内存少

评价算法的时间复杂度

  1. 算法的执行时间大致等于所有语句执行时间的总和
    • 事前统计法
    • 事后统计

语句频度:一条语句重复的次数

  1. 常量阶:语句频度是固定的.

    a=1; b=2;c=3;
    //或者
        for(int i=0;i<100;i++)
        {
            x++;
            a++;
        }
    //时间复杂度  = O(1); 
    

2.线性阶:

for(int i=0;i<n;i++)
{
    x++;
}
//时间复杂度  = O(n); 线性阶
  1. 平方阶
for(int i=0;i<n;i++)
{
for(int j=0;j<n;i++)
  {
    x++;
  }
}
//时间复杂度  = O(n^2);
  1. 立方阶
for(int i=0;i<n;i++)
{
  for(int j=0;j<n;i++)
  {
   for(int j=0;j<n;i++)
   {
    x++;
   }
  }
}
//时间复杂度  = O(n^3);
  1. 对数阶
for(int i=0;i<n;i=i*2)
{
    x++;
}

对数阶的时间复杂度为
O(log_2 n)

时间复杂度 O(1)<O(log_2 n)<O(n)<O(nlog_2 n)<O(n^2)<O(n^3)......

空间复杂度

  • 用到多少辅助空间

例如将数组a 进行倒序

算法1 a 给b 再给a 用到了辅助空间b -------- 空间复杂度 O(n)

算法2 a中 首尾交换 只用了一个辅助空间temp ------- 空间复杂度O(1)

相关文章

  • 《大话数据结构》第一章 读书笔记

    书本是来自 程杰 老师的《大话数据结构》,老师在书中自称 封清扬 第一章 数据结构绪论 1.3 数据结构起源   ...

  • 大话数据结构

    第一章 数据结构绪论 1.数据结构:是指相互之间存在一种或多种特定关系的数据元素集合。 1.1程序设计=数据结构+...

  • 《大话数据结构》总结

    第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...

  • 数据结构与算法学习笔记1

    第一章 绪论 1-教学安排 略 2-数据结构基本概念,术语与主要学习内容 1-数据结构主要内容     在计算机学...

  • 数据结构笔记(一)

    第1章 数据结构绪论 第2章 算法 第3章 线性表 第1章 数据结构绪论 程序设计 = 数据结构 + 算法 逻辑结...

  • 数据结构(笔记)---绪论

    第一章 绪论 1.1 什么是数据结构 定义:数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以...

  • 数据结构 第一章 绪论

    [TOC] 第一章 绪论 1.1 计算机研究的问题 数值计算: 解决数学问题 非数值计算:管理系统(数据结构)DS...

  • 数据结构---绪论

    第一章数据结构绪论 之前已经讲过了,现阶段做一个复习回顾。数据结构:是相互之间存在一种或多种特定关系的数据元素的集...

  • 数据结构820知识点总结

    第一章:绪论 数据结构包含:逻辑结构,存储结构,对数据的运算逻辑结构:线性结构(线性表,栈,队列,串,数组,广义表...

  • 数据结构学习大纲

    第一章 绪论 数据结构基本概念数据结构基本概念算法的基本概念算法的时间复杂度与空间复杂度分析基础时间复杂度分析空间...

网友评论

      本文标题:数据结构 第一章 绪论

      本文链接:https://www.haomeiwen.com/subject/ogrcahtx.html