数据结构绪论

程序设计的实质是对确定的问题选择一种好的结构,加上设计一种好的算法。

程序设计=数据结构+算法

基本概念和术语

数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。

数据对象:是性质相同的数据元素的集合,是数据的子集

数据元素(记录):是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。比如畜类是数据,那么数据元素就是牛、羊、马等动物。

数据项:一个数据元素可以由若干个数据项组成(数据项是数据不可分割的最小单位,不过在真正讨论问题时,数据元素才是数据结构中建立数据模型的着眼点)。比如人这样的数据元素,可以有眼睛、耳朵、鼻子等数据项。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合

数据结构基本概念和术语结构图

逻辑结构和物理结构(示例图中的一个圆点表示一个数据元素)

按照视点的不同,我们把数据结构分为逻辑结构和物理结构。逻辑结构是针对具体问题的,是为了解决某个问题,在对问题理解的基础上,选择一个合适的数据结构表示数据元素之间的关系物理结构是面对计算机的,其基本的目标就是将数据及其逻辑关系存储到计算机的内存中。

逻辑结构

定义:逻辑结构是指数据对象中数据元素之间的相互关系。

分类:

  1. 集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系。各个数据元素是“平等的”,它们的共同属性是“同属于一个集合”。
    集合结构
  2. 线性结构:线性结构中的数据元素之间是一对一的关系。
    线性结构
  3. 树形结构:树形结构中的数据元素之间存在一种一对多的层次关系。
    树形结构
  4. 图形结构:图形结构中的数据元素是多对多的关系。
    图形结构

物理结构

定义:物理结构是指数据的逻辑结构在计算机中的存储形式。存储形式有两种,分别是顺序存储和链式存储。

分类:

  1. 顺序存储结构:顺序存储结构是把数据元素存放在地址连续的存储单元中,其数据间的逻辑关系和物理关系是一致的(排队占位)。
    顺序存储结构
  2. 链式存储结构:链式存储结构是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。数据元素的存储关系不能反映其逻辑关系,因此需要一个指针存放数据元素的地址,通过这个地址就可以找到相关联数据元素的位置。
    链式存储结构

抽象数据类型

数据类型

数据类型是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。数据类型是按照值的不同进行划分的,在高级语言中,每个变量、常量和表达式都有各自的取值范围,类型就用来说明变量或表达式的取值范围和所能进行的操作。

在C语言中,按照取值的不同,数据类型分为两类:

  • 原子类型:是不可以再分解的基本类型,包括整型、实型、字符型。
  • 结构类型:由若干个类型组合而成,是可以再分解的。例如,整型数组是由若干个整型数据组成的。

在对一组性质相同的值的集合进行定义之后,我们还需要对其可进行的操作进行定义。然而对于高级语言的开发者,它才不管程序最终运行在什么计算机上,它的目的就是实现他想进行的操作,比如整数运算、实数运算、字符运算等,所以我们需要把这些操作抽象出来。

抽象是指抽取出事物具有的普遍性的本质。它是抽出问题的特征而忽略非本质的细节,是对具体事物的一个概括。

抽象数据类型

既然要对已有的数据类型进行抽象,就有了抽象数据类型。抽象数据类型是指一个数学模型及定义在该模型上的一组操作。例如,各个计算机,不管是大型机、小型机、PC、平板、PDA,甚至智能手机都拥有“整型”类型,也需要整数间的运算,那么整型其实就是一个抽象数据类型,尽管它在上面提到的这些在不同计算机中实现方法上可能不一样,但由于其定义的数学特性相同,在计算机编程者看来,它们是相同的。因此,“抽象”的意义在于数据类型的数学抽象特性。

//描述抽象数据类型的标准格式
ADT 抽象数据类型名
Data 
	数据元素之间逻辑关系的定义
Operation 
	操作1
		初始条件
		操作结果描述
	操作2
		...
  	操作n
  		...
endADT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统。系统主要包含对客服聊天管理、字典表管理、公告信息管理、金融工具管理、金融工具收藏管理、金融工具银行卡管理、借款管理、理财产品管理、理财产品收藏管理、理财产品银行卡管理、理财银行卡信息管理、银行卡管理、存款管理、银行卡记录管理、取款管理、转账管理、用户管理、员工管理等功能模块。 文中重点介绍了银行管理的专业技术发展背景和发展状况,随后遵照软件传统式研发流程,最先挑选适用思维和语言软件开发平台,依据需求分析报告模块和设计数据库结构,再根据系统功能模块的设计制作系统功能模块图、流程表和E-R图。随后设计架构以及编写代码,并实现系统能模块。最终基本完成系统检测和功能测试。结果显示,该系统能够实现所需要的作用,工作状态没有明显缺陷。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。进入银行卡列表,管理员可以进行查看列表、模糊搜索以及相关维护等操作。用户进入系统可以查看公告和模糊搜索公告信息、也可以进行公告维护操作。理财产品管理页面,管理员可以进行查看列表、模糊搜索以及相关维护等操作。产品类型管理页面,此页面提供给管理员的功能有:新增产品类型,修改产品类型,删除产品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值