数据结构与算法心得笔记——零起点学习(一)

从今天开始,我会跟大家分享一下本人学习数据结构和算法的心得体会,也算是今后的复习笔记,如有说错的地方还望各位大佬批评指正,我定虚心请教。同时也希望刚刚接触数据结构和算法的小白们能养成记笔记的习惯,等你以后学的东西越来越多时,你要查以前学过的东西会很容易地捡起来。
在学习之前,先向大家分享一本书,名叫《大话数据结构》,内容通俗易懂,非常适合刚入门的小白,本人的心得笔记也是在此书的基础上完成,分享链接:大话数据结构 提取码:ss6l
好了,话不多说,下面我们开始吧!

目录

  • 第一章 数据结构绪论
    • 1.1 基本概念和术语
      • 1.1.1 数据
      • 1.1.2 数据元素
      • 1.1.3 数据项
      • 1.1.4 数据对象
    • 1.2 数据结构的定义
    • 1.3 逻辑结构与物理结构
      • 1.3.1 逻辑结构
      • 1.3.2 物理结构

第一章 数据结构绪论

1.1 基本概念和术语

1.1.1 数据

数据:是描述一种事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
它包括数值类型,如整形、实型等;以及非数值类型,如图像、音频、视频等。

1.1.2 数据元素

数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。
我们可以将其理解为一类事物的基本单位,比如:Animals类中有猫、狗、老虎、狮子、大象等等,他们都是Animals类中的数据元素。

1.1.3 数据项

数据项:一个数据元素可以由若干个数据项组成。
我们还拿刚才的例子打比方,狗是Animal类的一个数据元素,而对狗来说,它有年龄、毛色、性别等等数据项,也可以有耳朵、嘴巴、眼睛等数据项,具体有哪些数据项应该视情况而定。

1.1.4 数据对象

数据对象:是性质相同的数据元素的集合,是数据的子集。
换句话说,数据对象具有相同数量和类型的数据项,比如,所有的狗都有年龄、毛色、性别等数据项。
在实际应用中,处理的数据元素通常具有相同性质,在不产生混淆的情况下,我们都将数据对象简称为数据。

下面我们可以用一张图来看一下它们之间的关系,如图1-1所示
数据结构与算法心得笔记——零起点学习(一)_第1张图片

1.2 数据结构的定义

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
我们可以将数据结构分为数据和结构两部分,所谓数据,就是我们理解的字面意义上的不同的数据元素,而结构,就是这些数据元素之间的某种特定关系。

1.3 逻辑结构与物理结构

我们从不同的角度理解数据结构,它可以分为逻辑结构和物理结构。

1.3.1 逻辑结构

逻辑结构:是指数据对象中数据元素之间的相互关系。
它分为以下四种:
1. 集合结构:
集合结构:集合结构中的数据元素同属于一个集合,而它们之间没有其他任何关系。
其关系如图1-2所示:
数据结构与算法心得笔记——零起点学习(一)_第2张图片
2. 线性结构
线性结构:线性结构中的数据元素之间是一对一的关系。
其关系如图1-3所示:
数据结构与算法心得笔记——零起点学习(一)_第3张图片
3. 树形结构
树形结构:树形结构中的数据元素之间存在一种一对多的层次关系。
其关系如图1-4所示:
数据结构与算法心得笔记——零起点学习(一)_第4张图片
4. 图形结构
图形结构:图形结构的数据元素是多对多的关系。
其关系如图1-5所示:
数据结构与算法心得笔记——零起点学习(一)_第5张图片

1.3.2 物理结构

物理结构:是指数据的逻辑结构在计算机中的存储形式。
在这里我们打个比方,比如说季节交替,我们要把过季的衣服装到整理箱里,那么在这里,过季的衣服就相当于数据的逻辑结构,箱子相当于计算机,我们要把衣服叠起来才能放到箱子里,那么叠好后的衣服就相当于数据的物理结构。
1. 顺序存储结构
顺序存储结构:是把数据元素放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
其关系如下图1-6所示:
数据结构与算法心得笔记——零起点学习(一)_第6张图片
2. 链式存储结构
链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
其关系如下图1-7所示:
数据结构与算法心得笔记——零起点学习(一)_第7张图片

你可能感兴趣的:(数据结构与算法,数据结构,算法)