【数据结构——绪论以及有关语法说明】

💖 技术宅,拯救世界!

🎁作者:@ecember
🎁专栏:《数据结构从入门到入土》
🎁 对读者的话:相信奇迹的人本身和奇迹一样伟大

在这里插入图片描述


🌹感谢大家的点赞关注 🌹,如果有需要可以看我主页专栏哟💖

✍前言

学过数据结构的友友应该都知道线性表可以说是数据结构这一部分的核心了,因为后面学的栈,队列,字符串,数组等都以这个作为基础。所以说要想学好数据结构,学好学精线性表是必须的
话不多说我们这就开始。😜


✨首先我们先来了解了解数据结构🌹

🐱‍💻数据结构基本介绍

🎶数据结构的主要内容与重要性

在这里插入图片描述

在这里插入图片描述

核心tip:程序=数据结构+算法。

🎶数据的逻辑结构

在这里插入图片描述

数据的逻辑结构也就分为线性结构非线性结构两种,而存储结构只有物理结构这一种,物理存储结构又分为顺序存储结构和链式存储这两种结构,这点友友们需要牢记。

🎶基本概念和术语

在这里插入图片描述
在这里插入图片描述

核心tip one: 数据项是组成数据元素的,有独立意义的,不可分割的最小单位。
核心tip two:数据对象相同特性数据的集合,是数据的一个子集。

🎶存储结构(物理结构)

在这里插入图片描述

核心tip : 记住顺序对应相对位置,而链式对应指针,它们分别用这两个来代表数据间的逻辑关系。所以说链式存储物理位置是无关的,它旨在用指针来表明它的逻辑关系。


下面我们来具体看看它俩到底是怎么存储的
在这里插入图片描述
在这里插入图片描述

由此也更好的印证了两种存储结构的逻辑结构。


没看懂?没关系!我们下面来具体看看两个实例😘

在这里插入图片描述
在这里插入图片描述

😜相信大家一定理解了这两种结构了吧。

🎶 数据的运算

数据的运算主要有插入 删除 访问 修改 查找 排序这几种,同时这也是构成数据结构运算的基本操作,有了这些才能熟练掌握更高级的运算。
在这里插入图片描述


😎易错习题
在这里插入图片描述
这题显然选择 C 项,我们前面说过顺序表借助相对位置来表达逻辑顺序,故此题排除A。


✨第二步我们再来讲讲其中的语法约定以及算法分析的两个有力工具🌹

✍算法与算法分析

🎶类C语言描述算法的符号约定

🌹 这个对于刚学习数据结构的小萌新来说十分重要


在这里插入图片描述
学过C语言的友友们都知道typedef是用来为复杂的声明定义用的,而 int类型实则指的就是其定义的ElemType类型,同理Status也是一样。define 定义这几个类型大家需要记住,为了增加代码的可读性,数据结构一般用这几个字母来表示。


🐳代码实现如下

#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;

😜数据结构教材中可能会出现一些基础的C++语法知识,友友们不要担心,下面就是教材中可能出现的语法,我为大家整理好了🌹
在这里插入图片描述

🐳C++函数使用需要的头文件如下:

#include<iostream>
using namespace std;

😜接下来给大家说说传参的问题🌹

🎶传参问题

在这里插入图片描述

接下来我们看看三段代码的结果🌹


💎第一段
在这里插入图片描述
💎第二段
在这里插入图片描述

💎第三段
在这里插入图片描述


😎三段代码中只有第二段代码实现了数值交换,这说明普通通过函数交换数值的并不能保留下来,而通过指针改变所指向变量的值在函数调用结束后这些变化依然能保留下来!!!


🎶算法分析(时间复杂度与空间复杂度)

在这里插入图片描述


😎程序员写的代码具有了这四个性质才能算是合格的代码,在这里主要跟友友们说明算法的时间复杂度与空间复杂度
核心tip one:时间复杂度和空间复杂度是矛盾的,可以相互转化
核心tip two:衡量算法优劣性的主要是时间复杂度,所以大多数算法主要通过牺牲空间来换取时间💖


💕所以在这里主要跟友友们介绍 时间复杂度。

🌹首先我们先来了解语句频度


在这里插入图片描述
即语句执行的次数

😎那么时间复杂度跟这个有什么关系呢?

在这里插入图片描述
换句话说,时间复杂度是由最里层循环结构的频度也就是循环次数决定的。
核心tip one: 如果没有循环结构或者递归之类的结构那么事件复杂度就是O(1)
核心tip two: 当你把语句的频度算出来后,例如语句频度为n^3 + n^2 + n,实际上最后的时间复杂度为O(n^3).即时间复杂度只有语句频度最高次幂决定。


🧐那么一个程序的时间复杂度是否是一成不变的呢?
在这里插入图片描述


😎易错习题
在这里插入图片描述


一个程序的好坏大部分都是由其时间复杂度决定,时间复杂度越低,代码的运行效率越高,也更就容易被大众所接受。
在这里插入图片描述







🐱‍👓结语

🎪嘿嘿,到了大家期待的结束环节啦,数据结构绪论的知识我们就到这,后续还会更新哦,需要请关注《数据结构从入门到入土》,再次感谢大家的点赞和关注💖


在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guaabd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值