数据结构-第一章绪论

数据结构:

第一章 绪论:

基本概念

数据元素在相互之间存在一种或多种特定关系(非数值计算)的集合形式。

程序设计的实质:好的结构 + 好的算法

我们编程写代码,你们以为是面向对象? 那面向过程的算不算程序设计?
我认为,面向对象都未能抓到程序设计的本质,那就是面向数据编程。所有的协议都是数据操作的规范,算法和数据结构是操作的方法和形式,代码只是表象。我连表象都玩不好。。。

数据就在我们的电脑里,是各种符号的集合,来源于我们对现实生活的抽象。

数据元素具有多个数据项。数据项具有不可分割的性质。

数据对象:数据元素的集合。数据关系就是数据结构。

数据结构:

逻辑结构:

针对具体问题进行分析,选择合适的数据结构表述逻辑关系。
1 集合结构
数据元素同属于一个集合,相互之间没有任何其他关系。
在这里插入图片描述

2 线性结构
数据元素之间是一对一关系。
在这里插入图片描述

3 树形结构
数据元素之间存在一对多的层次关系。
在这里插入图片描述

4 图形结构
图形结构的数据元素之间存在多对多的关系。

!图四

物理结构:

数据的逻辑结构在计算机具体怎么存储,存储结构。
内存中的存储才会说数据结构问题,磁盘中就是文件结构。
难点:如何正确的反映数据的逻辑结构。

  • 1 顺序存储结构:
    数据元素存储在地址连续的存储单元内,数据逻辑关系和物理关系一致。
    顺序存储是最简单的,数组就是。

  • 2 链式存储结构
    数据元素存放在任意地址的一组存储单元内,存储单元地址可以连续也可以不连续。
    通过指针查找逻辑下一个数据。
    优点:存储灵活。缺点:失去顺序表的直接访问特点(不能随机存取)。
    在这里插入图片描述

抽象数据类型

数据类型

一组性质相同的值的集合的名称。
C语言中数据类型分为两类:

  • 原子类型:不可以再被分解的基本类型,包括整型、实型、字符型;
  • 结构类型:由多个类型组合而成,可以被在分解。如:数组、列表。
    数据类型决定了:数据的范围(大小)、操作方式。
    高级语言 —> 编译器或解释器 —> 底层语言 —> 汇编语言或机器语言 —> CPU指令

抽象:指抽取出事物具有的普遍性的本质。隐藏了复杂的小细节,只保留目标所必须的信息。

抽象数据类型

abstract data type ADT:指数据模型定义及附属操作。
仅取决于数据的逻辑特性,与存储结构无关。意义在于数据类型的数学抽象特性。

总结:
数据结构的概念:
在这里插入图片描述

数据结构的分类:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值