数据结构-绪论

前言

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

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

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

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

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

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

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

基本概念

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

数据的逻辑结构

主要分类

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

数据结构的形式定义

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

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

数据的存储结构

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

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

数据类型(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这些语言则要使用类来实现。
绪论只是开始,讲讲基本的概念和思想,后边才是重点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值