C++与数据结构(一)

数据结构的基本概念

数据结构概念和术语

数据:数据是对客观事物的符号表示
数据元素:数据的基本单位,一个数据元素可由若干个数据项组成,例如,一个学生的基本信息为一个数据元素,可以包括学号,姓名,年龄,成绩,家庭地址等多个数据项。数据项是数据处理忠不可分割的最小单位。
数据对象:性质相同的数据元素的集合
数据结构:数据元素相互之间的关系,分为集合(无序且不重复),线性结构(一个对一个),树形结构(一个对多个),图结构(多个对多个)。
数据结构的研究分为:
1)研究数据之间固有的客观联系(逻辑结构)
2)研究数据在计算机内部的存储方法(存储结构)
3)研究如何在数据的各种结构上实施有效的操作或处理(算法

抽象数据类型

数据类型是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称。
C++语言中的数据类型如图1所示,

图 1 \qquad 在面向对象的程序设计中,常常提到“抽象"一词,那么,什么是抽象呢 ?抽象是抽取反映问题本质的东西,忽略非本质的细节。
抽象数据类型通常是由用户定义,用来表示应用问题的数据模型。抽象数据类型由基本的数据类型组成,并包括有一组相关的操作,抽象数据类型类似于C++中的类。对于一个数据成员完全相同的数据类型,如果给它定义不同的功能,则可形成不同的抽象数据类型。
\qquad 抽象数据类型的特点是使用与实现分离,实行封装和信息隐蔽。抽象数据类型的具体实现作为私有部分封装在其实现模块内,使用者不能看到,也不能直接操作该类型所存储的数据,只能通过界面中的服务来访问这些数据。

面向对象概述

\qquad 现实世界中的问题是由客观实体和实体之间的联系构成的,对象就是客观实体的抽象。面向对象方法将数据和操作放在一起,作为一个相互依存,不可分割的整体来处理。
面向对象=对象+分类+继承+消息通信,面向对象既使用对象又使用类和继承等机制,而且对象之间仅能通过消息的传递实现通信。
对象:由一组属性(数据)和一组服务(操作)组成。系统的服务是通过新对象的建立和对象之间的通信实现的。对象中的服务(操作)通常是通过一个可执行的语句或过程,对属性(数据)进行操作来实现的。即对象=属性+操作,操作可以分为两类,一是自身承受的操作,二是对其他对象的操作。
消息:C++中,消息具体表现为函数,有三个性质,
1)同一对象可以接收不同形式的消息,并产生不同的响应
2)相同形式的消息可以传递给不同类型的对象,产生不同的响应
3)消息的发送可以不考虑接收者,对象可以响应也可以不响应。
\qquad 在面向对象系统中,为了完成某个事件,有时需要向同一对象发送多个消息或者向不同的对象发送多个消息,我们把这些消息称为消息序列。对一个对象而言,由外界对象直接向它发送的消息称为公有消息,由它自己向本身发送的消息称为私有消息
类:具有相同属性和相同操作的集合。一个类就是对一组相似对象的共同描述,代表一组对象。可以把类看成是某些对象的模板,它抽象地描述了属于该类的全部对象的共有属性和操作。类与对象的关系是抽象与具体的关系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高达十几个

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值