引言:

数据结构对于程序员来说比语言还要更重要一些,数据结构注重的是思想,在我们学习数据结构之前需要一些语言的基础,不管是C,C++,还是java都是可以的,数据结构需要用一些伪代码来体现。以大话数据结构为教材与大家一起学习。

 数据结构起源?

我们用计算机解决问题时,是先从具体的问题抽象成一个模型,然后设计一个解决模型问题的方法,然后编写程序,解决问题。

现实中则不只是解决数值计算问题,而是需要一些科学的方法来处理问题。所以数据结构是研究非数值。

计算程序设计中的操作对象,以及它们之间关系和操作。比如说(表,树,图等数据结构)

1、什么是数据?

比如说我们所看到的网页,网页中的图片等都是数据,那么这些数据对于计算机来说都是都是符号。

所以数据用于描述客观事物的符号,它们可以被计算机识别,并且输入给计算机处理的符号集合,我们称为数据。

符号必须具备两个前提:

  1. 可以输入到计算机中。
  2. 能被计算机处理。

能被计算机处理的前提是将数据输入计算机且计算机可以处理该数据。

数据元素?

比如说,猪、马、牛、羊等我们都会叫他们为畜禽类。那么猪、马、牛、羊就是畜禽类的数据元素。

即数据元素是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理,称为记录。

​​​​​​​数据项?

人有眼睛,耳朵,鼻子等组成。那么人是数据元素,数据元素则有数据项组成,我们称眼睛,耳朵,鼻子为人的数据项。数据项是数据中不可分割的最小单位。

    ​​​​​​​数据对象?

人都有生日、姓名、性别等相同数据项,所以数据对象是拥有相同性质的数据元素的集合,是数据子集。

  数据结构?

比如说猪,马,牛,羊等这些数据元素是一个集合,花草树木这些数据元素元素也是一个集合,各个国家的人也是一个集合,那么这些集合之间不是孤立的,他们都具有内在联系,比如说人会吃鸡肉,鸡会吃米,那么不同数据元素之间存在一种或者多种的特定关系。因此数据结构是相互之间存在一种或者多种特定关系的数据元素集合。

逻辑结构和物理结构逻辑结构?

是数据对象中数据元素之间的相互关系。

  1. 集合结构:数据元素除了同属一个集合外,没有其它关系。
  2. 线性结构:数据元素一对一的关系。
  3. 树形结构:数据元素存在一对多的关系。
  4. 图形结构:数据元素多对多的关系。

 物理结构/存储结构?

比如说数据元素要存在一个地方,这个地方叫计算机的存储器。存储器就是对于内存而言,我们熟悉的存储器比如硬盘、软盘等外部存储器。存储结构主要正确反映书籍元素之间的逻辑关系,如何存储数据的逻辑关系。

所以物理结构就是指数据的逻辑结构存储在计算机的存储方式。

存储结构分两种:

顺序存储结构和链式存储结构。

顺序存储结构?

就是排队占位,每个人都占一个位置,都不能插队。

即顺序存储结构就是将数据元素放在地址连续的存储单元里,数据间的逻辑关系和物理关系是一致的。

    链式存储结构?

比如现在我们身上有一张卡片,卡片记录的是下一个人b的地址,那么B也有张卡片,记录的是C的地址,但是C的卡片上面没有地址,也就是C不需要找另一个人,那么就形成一条链的形状。

所以数据元素可以存放在任意的存储单元里,连不连续无所谓,因为有下一个人的地址。

数据类型?

具有相同性质的值的集合及定义在集合上的一些操作总称。我们称为数据类型。

数据类型就是按照值得不同来划分的。

比如说有钱人可以住大房子,没有钱的话考虑大房子没啥意义,因此商业圈为了满足各种各样的人群,就推出各种各样的房子,有别墅,有复式的,单间的,大的几百平,小的甚至十几平米。这样就满足不同的人。

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

原子类型:比如整形、实型、字符型等。

结构类型:如果个类型组合来的,可以分解。

比如C语言声明变量int a,b,意味着变量a和b的值不能超过int的取值范围。好比说一个水瓶是1L的容量,你不可能装1.5L的水。

抽象数据类型?

我们对数据类型进行抽象,就有抽象数据类型。

抽象数据类型(Abstract Data Type,ADT):一个数学模型及定义在该模型上的一组操作。

比如说:不管是电脑,手机还是ipad,都有“整数”类型(12345),也需要处理整数的运算,虽然这些机器上可能对运算的处理方式不同,但是数学性质相同,因此可以将其处理的操作方式变成一个模型,这个模型里定义了这样一组操作。

这样做可以将问题分解成多个模块化,每个模块实现的功能都不同。可以将要处理的问题变得简单。

第一章:数据结构和绪论:相关推荐

  1. 第一章——数据结构之绪论

    1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分析 1.4.1 算法 1.4.2 算法设计的要求 1.4.3 算法效率的度量 1.4.4 算法的存 ...

  2. 大话数据结构 摘录 第一章 数据结构绪论

    文章目录 启示:数据结构 学习数据机构的重要性 数据结构引发的案例 数据结构的起源 程序设计=数据结构+算法 基础概念与术语 数据 数据元素 数据项 数据对象 数据结构 数据结构:是相互之间存在一种或 ...

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

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

  4. 读书笔记-《大话数据结构》第一章数据结构绪论

    1.3数据结构的起源 数据结构:是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科. 程序设计=数据结构+算法 1.4基本概念和术语 1.4.1数据:描述客观事物 ...

  5. 第一章 数据结构与算法-前言

    Hello,I'm 郭永峰,一名IT从业者,也是一名Java Sharer.Teacher.欢迎添加微信号或者QQ号,一起学习交流,微信与QQ同号(1030103135).目前在腾讯课堂也出了一些教程 ...

  6. 数据结构与算法(第一章 数据结构的基本概念 )

    说起数据结构与算法,他们之间的关系是怎么样的呢?某位dalao曾经这样说过: The relationship between the data structures and algorithms l ...

  7. 数据结构—绪论(基本知识点第一章)

    第一章数据结构绪论 目录 第一章数据结构绪论 什么是数据结构? 1.3数据结构起源 1.4基本概念和术语 1.4.1数据 1.4.2数据元素 1.4.3数据项 1.4.4数据对象 1.4.5数据结构 ...

  8. 第1章 数字图像处理绪论

    文章目录 第一章 数字图像处理绪论 1.1 图像 1.2 数字图像处理 Digital Image Processing, DIP 参考书:<数字图像处理与分析>(第2版)李新胜/清华大学 ...

  9. 1微型计算机应用的例子,第一章 微型计算机概论.doc

    第一章 微型计算机概论.doc 还剩 9页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 第一章 微型计算机概论 绪论一.计算机的应用举一些实际应用的例 ...

  10. 全国计算机二级第一套ppt,全国计算机二级共基础第一章.ppt

    全国计算机二级共基础第一章 全国计算机等级考试 二级公共基础知识辅导 复习 计算机的工作原理是什么? 存储程序和原始数据,然后逐条执行. 什么是计算机程序? 很多指令的有机组合. 计算机程序 计算机算 ...

最新文章

  1. php语言出现弹框 再提交怎么写,jquery/php和多语言确认/警报框
  2. 网页缩放zoom用法
  3. AngularJS内置指令
  4. 彻底明白IP地址——计算相关地址
  5. linux命名管道 c版本 python版本
  6. python学习第二十八节(进程,线程)
  7. 如何处理Angular项目在Visual Studio Code打开报关于@Decorators的警告信息
  8. 菜鸟谈算法和数学对写程序的影响
  9. tomcat热部署 更改类文件不需要重起
  10. 种草笔记App放话:要让一万创作者月入过万
  11. 小清新风高清壁纸,让你一天心情轻松!
  12. 5亿美元续命!Uber自动驾驶存亡之秋喜获丰田投资
  13. Apache Commons Collections反序列化漏洞分析与复现
  14. 总结之lowagie.text合并PDF文件
  15. Asp.net 2.0在Windows 2003 Server 上配置Microsoft Excel、Microsoft Word应用程序权限时 error: 8000401a 的解决方法!...
  16. OA办公系统如何实现最佳界面效果
  17. 探索第二个合数世纪C语言,第一单元 探索计算机的奥秘
  18. linux DDos病毒查杀过程记录
  19. java 中奖_java的if判断是否中奖了(21)
  20. 糖友控糖是在控什么糖呢

热门文章

  1. 简述软件全面质量管理的思想体系
  2. 每日记录,2022年1月7日
  3. 湖南大学超级计算机天河,基础科学研究
  4. Feign基本用法-Feign
  5. 如何成为一个更好的人
  6. 性格特征、性格特点有哪些?描述一个人。自我介绍。简历。
  7. BAT三家公司面经分享。只要一直努力,总有走运的那一次。
  8. scratch(图形化编程工具)制作透视效果!
  9. mysql查询学生平均成绩及其名次_数据库面试题:数据库查询语句
  10. mysql 远程 2003错误_MySQL远程连接失败(错误码:2003)