数据结构——(一)绪论

简介: 数据结构——(一)绪论

👉数据元素整体思维导图 欢迎补充

一、基本概念❤️

1.1基本术语⭐️

(1)数据

客观事务属性的数字、字符。

(2)数据元素

数据元素是数据的基本单位,一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分的最小单元。

下面我们举一个例子来说明一下,下面就是一个学生表

学号 姓名
0711 小唐

如图所示,其中的学生表就是我们的数据元素,然后学号姓名分别对应的就是我们的数据项。

(3)数据对象

数据对象,也就是我们相同数据元素的集合,例如下面这个学生表

学号 姓名
0711 小唐
0403 小宋
0219 小黄

如图所示,这样多条记录的合集就是我们数据对象啦

(4)数据类型

1)原子类型:其值不可再分数据类型

2)结构类型:其值可以再分的数据类型

列如上面面这个结构体,还可以分为 int和string

3)抽象数据类型:抽象数据组织及其相关操作 这个你就可以理解为刚刚学生表+学生表对于的操作(增删改查)


1.2数据结构三要素⭐️⭐️⭐️

数据结构是相互之间,一种或者多种,特定关系的元素集合,数据元素之间的相互关系,我们称只为结构,数据元素主要分为以下三要素

1.逻辑结构

2.物理(存储)结构

顺序结构:相邻的元素存储在物理结构上的位置也相邻,只能使用相邻的一整块存储结构,可能会有较多的外部碎片。使用数组来存,就是一个非常明显的顺序结构。

链式结构:逻辑相邻,但是我们的物理结构的位置可以不相邻,因为借助指针,所以会占有额外的存储空间,读取元素时,也只能进行顺序读取。

索引结构:外部建立索引表,通过索引表读取,每一项被称之为索引项【index:key】,比如省会的索引【湖南:长沙】

散列结构:根据元素的关键字来计算出元素的存储位置,又称Hash存储,在后续散链表的学习中,index=元素%key,我们会进行进一步讲解

tips:说到这里,部分读者逻辑和物理结构有点区分不了,我们可以这样来理解,比如在树形结构中,我可以既可以采取顺序存储,也可以采取链式存储的方式,逻辑结构独立于我们的存储结构,我们后续章节,也基本由顺序存储讲到链式存储

3.数据的运算

对于我们数据结构的操作:运算的定义正对于逻辑结构,实现针对于物理结构

二、算法及其评价❤️

2.1主要特性⭐️

1.输入:有0个或者多个输入

2.输出:有1个或者多个输出

3.可行性:所描述操作可以通过已经实现的基本运算执行有限次操作来实现

4.正确性:相同输入得到相同输出

5.有穷性:算法不是死循环

2.2算法评价⭐️

1.可读性:可以让接触到的人便于理解

2.正确性:算法可以正确的解决问题

3.健壮性:对于非法的数据可以自己进行处理

4.高效率和低容量需求:效率高,存储空间小

2.3 时间复杂度⭐️⭐️⭐️

给大家推荐这个视频,讲的很清楚

单层基本思路

1.写出每一趟的躺数t

2.写出每一次躺数t,里面元素的变化

3.求元素和躺数的关系

4.找到元素的终止条件

5.求解

多层基本思路

1.从i开始一直到循环结束

2.写出每一个i中经理多少次循环

3.求和

数据结构——时间复杂度计算

2.4 空间复杂度⭐️

依据算法规模来进行求解,S(n)=O(g(n)),一般来说所使用的辅助空间都是常量,这里的空间复杂度会在学邻接矩阵的时候有一个比较详细的了解

相关文章
|
9月前
|
存储 算法 NoSQL
46.【数据结构 绪论(01)】
46.【数据结构 绪论(01)】
45 0
|
8月前
|
存储 人工智能 算法
数据结构 第一章作业 绪论 西安石油大学
数据结构 第一章作业 绪论 西安石油大学
65 0
|
9月前
|
存储 算法 数据库
十天学完基础数据结构-第一天(绪论)
十天学完基础数据结构-第一天(绪论)
44 0
|
1月前
|
存储 算法 Java
【数据结构与算法】1.数据结构绪论
【数据结构与算法】1.数据结构绪论
|
10月前
|
存储 算法
数据结构分析 绪论
数据结构分析 绪论
|
11月前
|
存储 自然语言处理 算法
数据结构与算法01:绪论【LEARN FROM 李春葆《数据结构教程》】(一)
数据结构与算法01:绪论【LEARN FROM 李春葆《数据结构教程》】
154 0
|
10月前
|
存储 算法 NoSQL
[数据结构与算法]第1章 绪论(考研复习笔记)
[数据结构与算法]第1章 绪论(考研复习笔记)
|
10月前
|
存储 算法 NoSQL
[数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(章节题库+答案解析)
[数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(章节题库+答案解析)
|
10月前
|
存储 算法 C语言
[数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(课后习题+答案解析)
[数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(课后习题+答案解析)
|
11月前
|
存储 机器学习/深度学习 算法
【数据结构】第一章 绪论
数据结构基础知识点详细总结