博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大话数据结构-数据结构绪论笔记
阅读量:5948 次
发布时间:2019-06-19

本文共 872 字,大约阅读时间需要 2 分钟。

hot3.png

先来看个都学过的公式 程序设计 = 数据结构 + 算法

1. 什么是数据结构

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

在计算机中,数据元素是具有内在联系的数据集合。数据元素间存在的一种或多种特定关系,就是数据的组织形式。

为编写"好"的程序,必须分析待处理对象的特性及各处理对象间存在的关系。这就是研究数据结构的意义。

2. 逻辑结构与物理结构

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

个人理解,就是将要处理的所有数据,根据其相似的特性,抽象成统一的方便处理的结构。

(1) 集合结构:数据元素除了同属于一个集合外,没有其他关系。

(2) 线性结构:数据元素间是一对一的关系

(3) 树形结构:数据元素间存在一对多的关系

(4) 图形结构:数据元素是多对多的关系

逻辑结构是针对具体问题的,是为了解决某个问题,在对问题理解的基础上,选择一个合适的数据结构表示数据元素间的逻辑关系。

物理结构:也可以叫存储结构,是指数据的逻辑结构在计算机中的存储形式。

(1) 顺序存储结构:是把数据元素存放在地址连续的存储单元里,

(2) 链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。需要用一个指针存放数据元素的地址,这样可以通过地址找到关联元素的位置。

3. 抽象数据类型

数据类型是按照值的不同进行划分的。在高级语言中,每个变量、常量和表达式都有各自的取值范围。类型就用来说明变量或表达式的取值范围和所能进行的操作。

计算机中,内存不是无限大的,要根据实际情况,选择合适的数据类型进行运算。

抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性抽象数据类型把实际生活中的问题分解为多个规模小且容易处理的问题,然后建立一个计算机能处理的数据模型,并把每个功能模块的实现细节作为一个独立的单元,从而使具体实现过程隐藏起来。

其实就是面向对象的特点:抽象、封装、继承、多态。

转载于:https://my.oschina.net/android520/blog/1421896

你可能感兴趣的文章
Linux下搭建Ionic框架
查看>>
移动支付的基本要素
查看>>
云计算:大数据时代的系统工程(二)
查看>>
Hadoop、Spark、HBase与Redis的适用性讨论(二):HBase
查看>>
常见的数据库连接池
查看>>
K8S使用Ceph RBD作为后端存储
查看>>
Centos yum的配置与使用
查看>>
Linux 文件内容查看工具介绍-cat,less,more,tail,head
查看>>
linux lsof 命令
查看>>
AD 总结
查看>>
在windows中将QString 转化为宽字节
查看>>
Jquery ajax异步提交
查看>>
MySQl的意外断电后无法启动
查看>>
如何防止表单重复提交
查看>>
真是因为忙才加班吗
查看>>
磁盘FAT型转NTFS
查看>>
多线程访问网页+高并发测试网站
查看>>
使用nlite制作集成驱动windows安装光盘及实践心得
查看>>
Linux安装oracle出现过的问题和处理参考资料
查看>>
HTML5游戏开发-Box2dWeb应用(二)-碰撞以及各种连接
查看>>