当前位置: 首页 > news >正文

【字幕】恋上数据结构与算法之013动态数组01线性表

就先说到这,我们进入下一个PPT唉点错了,来看下一个PPT,动态速度好,我们终于要进入数据结构这个环节了啊。首先我们看一下什么是数据结构,数据结构其实就是计算机存储组织数据的一种方式,那常见的数据结构有哪些呢?有这种线性结构,就是所有的元素排在一起的,还有一种是树形结构,你看这就是树形结构,还有一种是图形结构,那线性结构的话可能有哪些呢?

第一个线性表,线性表我们后面要学的线性表它其实就是一种线性结构,那线性表又有哪些呢?数组链表其实都属于线性表,还有站队列,都属于线性表,然后哈c表其实你也可以认为是线性表,因为哈c表里面它用到了数组,所以我们暂时认定为它也可以认为是线性表啊。

然后这个树形结构有哪些呢?比如说我们后面要学的二叉树,多叉树,这些其实都是树形结构,那二叉树里面有什么abl树、红黑树,还有什么b树,还有什么堆去哈夫曼树并查集,这些其实都是树形结构,而图形结构呢图形结构就是邻接矩阵邻接表啊,那我们在第一季的课程里面要讲哪些东西呢?

我们第一季的课程里面的话,除了这几个,我们其他都讲这几个,我们第一季里面是不讲了,第一季我们先把最重要最基础的几个数据结构先讲完,当然我们的第一季的大纲里面不仅仅是这些数据结构,还有其他这里其实只是列出一部分而已啊,不着急,我们先把前面的这些线性结构搞定,后面再来搞定这个树形的这个结构啊。

那实际应用中我们肯定是根据使用场景啊来选择最合适的数据结构对吧?什么时候使用数什么使用使用使用申请表,这个等我们学完这个数数据结构你就知道了啊。

首先我们看一下第一种数据结构,线性表,那线性表刚刚说到它是什么?它是线性结构,就所有的元素是排成一条线的,那我们看看什么叫线性表,线性表其实就是具有n个相同类型元素的有限序列,那n呢是大于等于0,也就意味着你可能是零个元素,一个元素两个元素都有可能,比如说像这个这个就是线性表,你看它有一到nn个元素排成一条线,这个我们称之为线性表。

然后这个线性表的每一个元素有什么特点,一般来说它们都有个索引有个索引,也就是说我想获取这个位置的元素,我就可以通过n减三这个索引找到它,我想访问这个位置的这个元素,我就可以通过二这个索引找到它,这个都是线性表元素的一个特点。

然后还有一些基本概念了解一下,最前面这个a一啊最前面这个我们一般来说叫做首节点也叫首元素,最后面这个我们一般叫做伪节点,也叫伪元素啊。

然后a一呢是a二的前驱,一般来说我们叫a一,是a二的前驱节点,然后这个a二呢我们可以称之为是a一的后后继节点,因为你二在一的后面,所以a二呢是a一的后继节点,这个了解一下。

然后常见的线性表有哪些呢?数组链表、站队列哈希表哈希表也叫散列表啊,那这几个数据结构其实都属于线性表,我们一个一个来不着急啊,首先我们来看生活中的线性表,这个是什么?

这个是冰糖葫芦对吧?它也是线性表,为什么为什么它也是线性表,因为线性表是有相同的元素组成的嘛,而且它们是串在一起,对吧?这个也是线性表对吧?还有这个呢这个也烤鸡翅,这个也是线性表,只不过这个线性表怎么样?它元素只有两个,对吧?然后再看一个这个也是线性表,你看每一个元素就一只狗对吧?那这个也是排成一一个队,那这个也是线性表。然后这个呢这个对吧,这个也是线性表,然后这个呢也算是线性表啊。


http://www.mrgr.cn/news/27972.html

相关文章:

  • Golang | Leetcode Golang题解之第565题数组嵌套
  • cocoscreator-doc-TS-脚本开发-全局系统事件
  • 丑数动态规划
  • HTML5实现俄罗斯方块小游戏
  • 开源三代示波器的高速波形刷新方案开源,支持VNC远程桌面,手机,Pad,电脑均可访问(2024-11-11)
  • C语言指针初步(1)
  • JavaScript 函数式编程之函子相关代码分享
  • pip install、yum install和conda install三者技术区分
  • jwt报错,位置:找不到符号 parseClaimsJws(java.lang.String)
  • 并发容器(Map、List、Set)实战及其原理分析
  • 在javascript中对象的键为什么只能是字符串或Symbol?
  • C++速通LeetCode简单第17题-爬楼梯
  • 【JS逆向分析】某药品网站价格(Price)解密
  • NFS在docker环境下无法写入文件的问题解决、NFS文件共享查看挂载客户端列表、mount监控及使用script命令保存屏幕终端输出内容
  • TS.38-2
  • 基于yolov8的无人机检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • THREE.js:网页上的3D世界构建者
  • AIGC文本生成
  • Luogu P1874 快速求和 (线性DP)
  • 【MySQL学习】基础指令全解:构建你的数据库技能
  • MySQL之约束
  • ArrayList 源码解析
  • 1.2 交换技术
  • Java contains()方法
  • 电基础理解
  • 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数