一、概念

         1.1 数据概念

数据:计算机能识别的能运算的符号,各种数据对象的集合——可以简单理解为各种类型的数组的集合。

数据对象:是性质相同的同一类型的数据元素的集合——可以简单理解为任意类型的数组。

数据元素:就是数据对象的元素——可以简单理解为数组的每个元素。

数据项:数据元素的子集,数据项的集合是数据元素——可以简单理解为数组元素的内部成员。

数据项是数据不可分割的最小单位。

数据元素是数据的基本单位。

从数据到数据项就像是个放大镜一样每一层都往里面分割,就像世界是由分子组成,然后分子呢?分子又是由原子组成,然后原子呢?原子又是由电子和原子核等组成,……这样一步一步放大。所以:

数据是数据对象的集合

数据对象是数据元素的集合

数据元素是数据项的集合

例如有如下数组:

人类类型  人类数组名[x] ={人1,人2,人3,……};

畜生类型  畜生数组名[x] ={畜1,畜2,畜3,……};

植物类型  植物数组名[x] ={植物1,植物2,植物3,……};

……

数据就是人类数组+畜生数组+植物数组+……

数据对象就是人类数组/畜生数组/植物数组/……

数据元素就是:人1,人2,人3,……

畜1,畜2,畜3,……

植物1,植物2,植物3,……

数据项就是:人的组成

畜生的组成

植物的组成

1.2 数据结构

数据结构就是数据元素之间的关系。

数据结构分为逻辑结构和物理结构。

所谓结构两字其实就是关系的意思,就像分子结构一样。

1.2.1 逻辑结构

(1)集合结构

平等的结构,各元素都是独立的个体,是为平等的,也就是各自独立、自力更生没有任何关系。比如结构体类型的,其内部的各个元素之间逻辑关系是独立的,其元素可以任意摆放。

(2)线性结构

一对一的关系。

就是说,数据元素A只和数据元素B有关系,然后A和其他元素没有关系。比如数组,链表,只有一个前驱和一个后继。

(3)树形结构

一对多关系。

很像传销的金字塔结构。

(4)图形结构

多对多关系

1.2.3 物理结构

也是存储结构,数据在计算机里的存储方式。

存储结构正确反映数据元素之间的逻辑关系是个重点也是个难点。

因此数据元素的存储关系并不能反映其逻辑关系。

(1)顺序存储结构

连续的数组,线性的数组就是这样存放的,一个挨一个。

(2)链式存储结构

链表就是这样的,存放在不一定是连续的空间里的。比如情报人员的单线连接。

逻辑结构是面对问题的,物理结构是面向计算机的,其基本的目标是将其逻辑关系存储到计算机的内存中。

1.3 数据类型

遐想(可略过):想不明白为什么分类型,能不能让它自己计算开辟的空间,不要管它大小?可惜当时c语言的设计者考虑了这个类型,这一点可以考虑下,为何不能创造出一种语言——一种不用区分数据类型自分配空间大小的程序语言?

c语言中,数据类型分为:

原子类型:不可以再分解的基本类型,包括整型、实型、字符型等。

结构类型:可以再分解的,由若干个类型组合而成的。例如数组,结构体等。

1.4抽象数据类型

抽象是指提取事物的本质特征,保存达到目标的有用信息,其他就剔除掉了。和目标无关的信息都不管的。

抽象数据类型,也就是给你自由,让你独自根据所需创造所需的数据类型。

抽象数据类型告诉你怎么将现实生活中的问题抽象成你自己认为合理的数据类型,把现实问题分解成各个小块,然后抽象成是各个数据项,然后数据元素,数据对象就出来了。以方便解决问题。

第一,把现实问题起一个数据类型名。

第二,将抽象出来的数据元素找到其关系,

第三,将问题分解抽象成各个数据元素或者各个操作,且将各个数据元素分解成各个数据项。

抽象数据类型是一组操作,是指一个数学模型及在模型上定义的一组操作。解决问题的一组操作,方法。

大话数据结构第一章理解相关推荐

  1. 大话数据结构第九章---排序

    马上要把大话数据结构这本书看完啦,现在已经对数据结构有了一种系统上的了解,后面的事情就疯狂练习力扣上的编程题目啦,第九章是本书的最后一章,却是以前我学数据结构最先学的部分-----排序. 排序 网页搜 ...

  2. 数据结构 第一章 概论

    第一章 概论 数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合 数据:描述客观事物的符号.是能被计算机识别.处理的符号的集合. 数据对象:数据元素集合.数据子集 数据元素:是组成数据 ...

  3. 数据结构 第一章 数据结构绪论

    数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科. 数据:所有能被输入到计算机中,且能被计算机处理的符号的集合.是计算机操作的对象的总称. 数据元素:数 ...

  4. 《道德经》第一章理解

    第一章 道可道,非常道.名可名,非常名. 无名天地之始:有名万物之母. 故常无,欲以观其妙:常有,欲以观其徼. 此两者,同出而异名,同谓之玄.玄之又玄,众妙之门. 徼:jiāo jiǎo jiào y ...

  5. jQuery源码解析(架构与依赖模块)第一章 理解架构

    1-1 jQuery设计理念 引用百科的介绍: jQuery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, F ...

  6. 《高性能python》第一章-理解高性能Python-阅读笔记

    1.1.1节 计算单元 计算单元的主要属性是其每个周期能进行的操作数量以及每秒能完成多少个周期. 第一个属性通过每周期完成的指令数(IPC)① 来衡量, 而第二个属性则是通过其时 钟速度衡量. 当新的 ...

  7. 用js来实现那些数据结构 第一章

    在开始正式的内容之前,不得不说说js中的数据类型和数据结构,以及一些比较容易让人混淆的概念.那么为什么要从数组说起?数组在js中是最常见的内存数据结构,数组数据结构在js中拥有很多的方法,很多初学者记 ...

  8. (王道408考研数据结构)第一章绪论-第二节1:算法的基本概念、算法的特性及设计要求

    文章目录 一:算法的基本概念 (1)数据结构和算法的关系 (2)算法(Algorithm)的定义 二:算法的特性 三:算法设计要求 程序=数据结构+算法,前面我们已经探讨了什么是数据结构,明白了如何用 ...

  9. 2023王道考研数据结构第一章---基本概念

    1.1 1.数据结构基本概念 1) 数据项.数据元素.组合项 2)数据对象 具有相同性质的数据元素的集合,是数据的一个子集. 如第一个数据对象是关于财富榜的所有数据元素的集合 第二个则是关于微博账号的 ...

最新文章

  1. 如何用java语法解析接口返回的json串?
  2. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素
  3. Matlab | Matlab从入门到放弃(12)——基于Matlab的特征值与奇异值分解
  4. SpringMVC的数据响应方式
  5. c++ 方向_GE医疗C型臂系列手术机设备全球装机量破万
  6. Ping突然出现请求超时的问题
  7. PinSAGE有伴了! 快速了解PinnerSAGE模型
  8. C#知识点:操作XML
  9. MyCat基于MySQL实现读写分离
  10. vue项目部署的一些配置和流程
  11. 2021年Delphi第26届应用软件开发展示挑战赛的获胜者名单
  12. html静态网页设计实训总结,html网页设计总结 html静态网页设计大作业
  13. 《积极上瘾》读后感范文5000字
  14. 语法转换_语法 | 句型转换之陈述句变一般疑问句
  15. maya arnold渲染器产品快速灯光渲染模板文件下载
  16. MEM最全汇总及分析
  17. HTML+CSS写网站首页
  18. 微交易平台搭建开发-盘内实时K线对接
  19. Nordic Thingy
  20. Python是什么?一篇短文带你了解Python

热门文章

  1. [Prodinner项目]学习分享_第二部分_Entity到DB表的映射
  2. 【百度地图API】如何批量转换为百度经纬度
  3. rust vs java_为什么我从Java切换到Rust
  4. 如何在Windows上安装Python
  5. 2019后工作机会会更少_在2019年更多地参与和更少地命令
  6. perl调用其他的perl_如何使Perl更优雅
  7. vue路由匹配实现包容性_多元化和包容性:停止说话,做作业
  8. 无罪的罪人_探索敏捷和无罪的文化
  9. (7)<a>标签之锚点和回到顶部功能
  10. Bootstrap 的辅助类