数据结构-绪论

文章目录

  • 前言
  • 基本概念
  • 数据的逻辑结构
    • 主要分类
    • 数据结构的形式定义
    • 数据的存储结构
  • 数据类型(data type)
    • 分类(按“值”的不同)
    • 抽象数据类型(abstract data type,ADT)
  • 算法与算法分析
    • 五个重要特性
    • 设计要求
    • 度量标准
  • 总结

前言

终于开始这个大工程了——数据结构。

数据结构是每一个合格程序员所必须具备的知识学科!

大一下时候开这门课本身是没有什么问题的,但是由于其重要性并没有得到认识与理解,就变成了为了不挂科和求绩点的考试。

为了分数而学的数据结构没有任何意义,真正学会的数据结构必定该是能熟练应用的。

这次回炉再造正是基于上边的认识开始,同时重视理论与实践,作为2019考研路上的陪伴吧!

头铁点,基于清华大学严蔚敏教授的《数据结构(C语言版)》一书,当时学的时候看不懂,现在回过头来看一看,,,总算是能当成地球语言了。

书没有问题,有问题的是当年看书的自己。

基本概念

  • 数据:所有能被输入到计算机中,且被计算机处理的符号的集合,是计算机操作对象的总称
  • 数据元素:数据中的个体,数据结构中讨论的基本单位,是数据项的集合
  • 数据项:数据结构讨论的最小单位
  • 数据结构:带结构的数据元素的集合

数据的逻辑结构

主要分类

  • 线性结构
  • 树形结构
  • 图状结构
  • 集合结构

数据结构的形式定义

数据结构是一个二元组
Data_Structures = (D,S)

  • D是数据元素的有限集
  • S是D上关系的有限集

数据的存储结构

又被称为逻辑结构在存储器中的映像

  1. 数据元素映像——二进制数字
  2. 关系的映像——
    顺序映像:用存储为的相邻表示后继关系
    链式映像:用附加信息(例如指针)表示后继关系

数据类型(data type)

分类(按“值”的不同)

  • 简单型
  • 结构类型

抽象数据类型(abstract data type,ADT)

  • 定义:指一个数据结构及其
  • 表示方法:三元组(D,S,P)
    • D:数据对象
    • S:D上的关系集合
    • P:对D的基本操作集

算法与算法分析

五个重要特性

  • 有穷性
  • 确定性
  • 可行性
  • 输入
  • 输出

设计要求

  • 正确性 (需要可以实现需求)
  • 可读性
  • 健壮性
  • 效率与低存储量需求

度量标准

  • (渐进)时间复杂度(记作T(n)=O(n3))
  • 空间复杂度(记作S(n)=O(f(n)))

总结

C语言用来实现数据结构时,往往需要使用其结构体struct,完成抽象数据类型(ADT)的模式,这也对应面向对象语言的class类这一概念,后边在实现数据结构时,C语言只能使用struct来做,而JAVA、Python这些语言则要使用类来实现。
绪论只是开始,讲讲基本的概念和思想,后边才是重点。

你可能感兴趣的:(个人学习,数据结构,数据结构)