数据结构与算法之——【数据结构】绪论篇

举报
xcc-2022 发表于 2022/05/23 08:00:40 2022/05/23
【摘要】 内容源于《大话数据结构溢彩版》共九篇;主要是做笔记,;以下第一篇。If you give a program, you will frustrate them for a day, if you teach them how to program,you will frustrate them for a lifetime.(你交给某人一个程序,你将折磨他一整天,如果你教某人如何编写程序,你...

内容源于《大话数据结构溢彩版》共九篇;主要是做笔记,;以下第一篇。

If you give a program, you will frustrate them for a day, if you teach them how to program,you will frustrate them for a lifetime.(你交给某人一个程序,你将折磨他一整天,如果你教某人如何编写程序,你将折磨一辈子)。

@[toc]

1.数据结构概论(Abstract Data Type)

在这里插入图片描述

什么是数据结构

用计算机去解决一个问题时,大概需要3个步骤:

  1. 首先,从具体问题中抽象出一个数据模型

  2. 其次,设计一个解决此设计模型的算法

  3. 最后,编写出程序

那么数据结构在学什么?

  1. 如何用程序代码把现实世界的问题信息化

  2. 如何用计算机高效地处理这些信息从而创造价值

总而言之:《数据结构》是介于数学、计算机硬件和计算机软件三者之间的一门核心课程


1-1.抽象数据类型:

一个数学模型及定义在该模型上的一组操作;抽象数据类型体现了程序设计中问题分解,抽象和信息隐藏的特性。

抽象:抽象是指取出事物具有的普遍性的本质;只告诉你“是什么”,没说“怎么实现”。


1-2.基本概念和术语

数据

数据,是描述客观事务的符号,是计算机中可以操作的对象,是能被计算机识别到并输入给计算机处理的符号集合。

数据元素

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

在人类中,人就是数据元素; 畜禽类?牛,马,羊,狗,猫就是畜禽类的数据元素。

数据项

数据项:一个数据元素可以由若干个数据项组成。 在这里插入图片描述

比如人这样的数据元素,可以由眼睛,耳朵,嘴巴,手脚等这些数据项,也可以有姓名,年龄,联系号码,邮政编码等数据项

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

数据对象

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

什么是性质相同呢?还是刚才的例子,人都有姓名,生日,性别等相同的数据项。

数据结构

不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称之为结构。


1-3.数据结构概述

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

定义:我们如何把现实中大量而复杂的问题以==特定的====数据类型==和==特定的存储结构==保存到主存储(内存)中,以及在次基础上为实现某个功能(比如查找某个元素,删除某个元素,堆所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法

数据结构 = 个体 + 个体的关系

算法 = 对存储数据的操作


1-4.逻辑结构与物理结构

1-4.1逻辑结构

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

  1. 集合结构:集合结构中的元素除了同属于一个集合外,他们之间没有其它关系。 请添加图片描述

  1. 线性结构:线性结构中的数据元素之间是一对一的关系请添加图片描述

  2. 树形结构:树形结构中的数据元素是一种一对多的关系请添加图片描述

  3. 图形结构:图形结构的元素是多对多的关系请添加图片描述

物理结构

物理结构:是指数据的逻辑结构在计算机中的存储形式 数据元素的储存结构分为两种:

  1. 顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理管理是一致的。请添加图片描述

  2. 链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。请添加图片描述


等待更新,未完待续.....

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。