5:数据结构--5.1:线性结构,5.2:数组与矩阵

 转上一节:

http://t.csdnimg.cn/M9Zdpicon-default.png?t=N7T8http://t.csdnimg.cn/M9Zdp

课程内容提要:

5:知识点考点详解  

5.1:线性结构

考点1:线性表

1:线性表

顺序表:数据在内存中紧邻。

(1)顺序存储方式:数组的内存是连续分配的,并且是静态分配的,即在使用数组之前需要分配固

定大小的空间。 

(2)链表(linked-list)存储方式:链表的内存是不连续的,前一个元素存储地址的下一个地址中存

储的不一定是下一个元素。链表通过一个指向下一个元素地址的引用将链表中的所有元素串起来。

 链表:

头指针:指向头结点的指针变量。

头结点:首结点之前的那个结点,存放链表首地址。

首结点:第一个有效结点。

尾结点:最后一个有效结点。

尾指针:指向尾结点的指针变量。

特点:

①n个结点离散分布,彼此通过指针相联系。

②除头结点和尾结点外,每个结点只有一个前趋结点和一 一个后继结点。头结点没有前趋结点,

尾结点没有后继结点。

③头结点并不存放有效数据,只存放链表首地址。其头结点的数据类型和首结点类型一样。

④加头结点的目的是方便对链表的操作,比如在链表头部进行结点的删除、插入。

链表的每个结点实际上是- -个结构体变量,它由若干成员组成,包括数据部分和存地址的指针变

量。例如:

 struct student

{

long num;

float score;

         struct student *next;

};

其中:next是成员名,是指针类型,

它指向struct student数据类型。

[链表的分类]

单链表 

循环链表

[链表的基本操作]

单链表删除结点

单链表插入结点

双向链表删除结点

双向链表插入结点

线性表--顺序存储与链式存储对比

 

考点2:栈与队列

思考:元素按照a、b、c的次序进入栈,请尝试写出其所有可能的出栈序列。 

队空条件: head=tail

队满条件: (tail+ 1)%size=head

队列长度: (tail-head+size)%size

循环队列的优点:

元素入队时只修改队尾指针,元素出队时只修改队头指针。 

考点3:串

串的定义:是仅由字符构成的有限序列,是-种线性表。- 般记为S=aja...an',其中,S是串名,单引

号括起来的字符序列是串值。

串的存储

(1)顺序存储

(2)链式存储

串的几个基本概念

(1)空串与空格串

●空串:长度为零,不包含任何字符。

●空格串:由-个或多个空格组成的串。虽然空格是一个空白字符,但它也是一一个字符,在计算串

长度时要将其计算在内。

(2)子串与子序列

●子串:由串中任意长度的连续字符构成的序列称为子串。含有子串的串称为主串。子串在主串中的

位置是指子串首次出现时,该子串的第一个字符在主串中的位置。空串是任意串的子串。

●子序列:一个串的"子序列”(subsequence) 是将这个串中的一些字符提取出来得到一个新串,并且

不改变它们的相对位置关系。

(3)串比较与串相等

●串比较:两个串比较大小时以字符的ASCII码值(或其他字符编码集合)作为依据。实质上,比较操作

是从两个字符串的第一个字符开始进行,字符的码值大者所在的串为大;若其中-一个串先结束,则以

串长较大者为大。

●串相等:指两个串长度相等且对应序号的字符也相同。

1.串的基本操作:

(1)赋值操作StrAssign(s,t):将串s的值赋给串t。

(2)连接操作Concat(s,t):将串t接续在串s的尾部,形成-个新的串。

(3)求串长StrLength(s):返回串s的长度。

(4)串比较StrCompare(s,t):比较两个串的大小。返回值-1、0和1分别表示st三种情况。

(5)子串SubString(s, start,len):返回串S中从start开始的、长度为len的字符序列。

2:模式匹配

模式匹配:子串的定位操作通常称为串的模式匹配。(子串也称为模 式串)

朴素的模式匹配算法(布鲁特-福斯算法) :其基本思想是从主串的第一个字符起与模式串的第一个字

符比较, 若相等,则继续逐一对字符进行后续的比较,否则从主串第二个字符起与模式串的第一个

字符重新比较,直到模式串中每个字符依次与主串中-个连续的字符序列相等时为止,此时称为匹

配成功。如果不能在主串中找到与模式串相同的子串,则匹配失败。

5.2:数组与矩阵

考点一:数组

注:下标一般从0开始。

已知5行5列的二维数组a中的各元素占两个字节,求元素a[2][3]按行优先存储的存储地址? 

考点二:矩阵 

 稀疏矩阵的表示形式:三元组表(行号,列号,元素值),例:(1,1,5) ,(1,2,10) 等。

三元组表的顺序存储结构称为三元组顺序表,常用的三元组表的链式存储结构是十字链表。

A[i]lj]

上三角元素A[i][j](i<=j)

下三角元素A[i][j](i>=j))

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/517032.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iOS-App:App Store新的审核政策,在应用隐私清单中声明和解释使用特定API的原因

App Store新的审核政策&#xff0c;在应用隐私清单中声明和解释使用特定API的原因 设备/引擎&#xff1a;Mac&#xff08;11.6&#xff09;/Mac Mini 开发工具&#xff1a;终端 开发需求&#xff1a;苹果官方邮件通知&#xff0c; App Store新的审核政策&#xff0c;在应用隐…

linux清理缓存垃圾命令和方法介绍

在Linux系统中&#xff0c;清理缓存和垃圾文件可以通过多种方法完成&#xff0c;这些方法旨在释放磁盘空间、提高系统性能。以下是一些常用的方法&#xff0c;结合了搜索结果中的信息&#xff1a; 1. 使用sync和echo命令清除RAM缓存和交换空间1 清除页面缓存&#xff08;Page …

【原创】springboot+vue校园疫情防控管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

Redis中的复制功能(四)

复制的实现 步骤2:建立套接字连接 在SLAVEOF命令执行之后&#xff0c;从服务器将根据命令所设置的IP地址和端口&#xff0c;创建连向主服务器的套接字连接&#xff0c;如图所示。如果从服务器创建的套接字能成功连接(connect)到主服务器&#xff0c;那么从服务器将为这个套接…

数据结构进阶篇 之 【交换排序】(冒泡排序,快速排序递归、非递归实现)详细讲解

当你觉的自己不行时&#xff0c;你就走到斑马线上&#xff0c;这样你就会成为一个行人 一、交换排序 1.冒泡排序 BubbleSort 1.1 基本思想 1.2 实现原理 1.3 代码实现 1.4 冒泡排序的特性总结 2.快速排序 QuickSort 2.1 基本思想 2.2 递归实现 2.2.1 hoare版 2.2.2 …

ros小问题之rosdep update time out问题

在另外一篇ROS 2边学边练系列的文章里有写碰到这种问题的解决方法&#xff08;主要参考了其他博主的文章&#xff0c;只是针对ROS 2做了些修改调整&#xff09;&#xff0c;此处单拎出来方便查找。 在ROS 2中执行rosdep update时&#xff0c;报出如下错误&#xff1a; 其实原因…

数字乡村创新实践探索:科技赋能农业现代化与乡村治理体系现代化同步推进

随着信息技术的飞速发展&#xff0c;数字乡村作为乡村振兴的重要战略方向&#xff0c;正日益成为推动农业现代化和乡村治理体系现代化的关键力量。科技赋能下的数字乡村&#xff0c;不仅提高了农业生产的效率和品质&#xff0c;也为乡村治理带来了新的机遇和挑战。本文旨在探讨…

2024年腾讯云4核8G服务器性能可以满足哪些使用场景?

腾讯云4核8G服务器多少钱&#xff1f;腾讯云4核8G轻量应用服务器12M带宽租用价格646元15个月&#xff0c;活动页面 txybk.com/go/txy 活动链接打开如下图所示&#xff1a; 腾讯云4核8G服务器优惠价格 这台4核8G服务器是轻量应用服务器&#xff0c;详细配置为&#xff1a;轻量4核…

基于Python3的数据结构与算法 - 22 贪心算法

一、贪心算法 贪心算法&#xff08;又称贪婪算法&#xff09;是指&#xff0c;在对问题求解时&#xff0c;总是做出在当前看来是最好的选择。也就是说&#xff0c;不从整体最优上加以考虑&#xff0c;它所做出的是在某种意义上的局部最优解。贪心算法并不会保证会得到最优解&a…

Scala第二十章节(Akka并发编程框架、Akka入门案例、Akka定时任务代码实现、两个进程间通信的案例以及简易版spark通信框架案例)

Scala第二十章节 章节目标 理解Akka并发编程框架简介掌握Akka入门案例掌握Akka定时任务代码实现掌握两个进程间通信的案例掌握简易版spark通信框架案例 1. Akka并发编程框架简介 1.1 Akka概述 Akka是一个用于构建高并发、分布式和可扩展的基于事件驱动的应用工具包。Akka是…

深入浅出 -- 系统架构之微服务架构

1.1 微服务的架构特征&#xff1a; 单一职责&#xff1a;微服务拆分粒度更小&#xff0c;每一个服务都对应唯一的业务能力&#xff0c;做到单一职责 自治&#xff1a;团队独立、技术独立、数据独立&#xff0c;独立部署和交付 面向服务&#xff1a;服务提供统一标准的接口&…

【C语言】【Leetcode】【递归】22. 括号生成

文章目录 题目思路代码实现 题目 链接: https://leetcode.cn/problems/generate-parentheses/description/ 思路 我们可以通过回溯递归算法求解 如果左括号数量不大于n&#xff0c;我们可以放一个左括号。 如果右括号数量小于左括号的数量&#xff0c;我们可以放一个右括号…

数据库的介绍分类作用特点

目录 1.概述 2.分类 2.1.关系型数据库 2.2.非关系型数据库 2.3.分布式数据库 ​​​​​​​2.4.云数据库 3.作用 4.特点 5.应用举例 5.1.MySQL ​​​​​​​5.1.1.作用 ​​​​​​​5.1.2.特点 ​​​​​​​5.1.3.应用案例 ​​​​​​​5.2.达梦 ​​​…

十分钟掌握在 PyTorch 中构建一个深度神经网络,基本组件、步骤和代码实现,从导入模块和定义网络结构到训练和评估网络性能。

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 深度神经网络(Deep Neural Networks, DNNs),也被称为人工神经网络(Artificial Neural Networks,ANNs),已成为当今机器学习任务中最流行、最成功的方法之一。这些网络能够表示数据中的复杂关系,并在图像分类、自然…

攻防世界 wife_wife

在这个 JavaScript 示例中&#xff0c;有两个对象&#xff1a;baseUser 和 user。 baseUser 对象定义如下&#xff1a; baseUser { a: 1 } 这个对象有一个属性 a&#xff0c;其值为 1&#xff0c;没有显式指定原型对象&#xff0c;因此它将默认继承 Object.prototype。 …

【Linux】vim 编辑器

Linux 系统自带了 gedit 和 vi 编辑器&#xff0c;gedit 是图形化界面的操作&#xff0c;而 vi 由比较难用&#xff0c;所以建议安装 vim 编辑器&#xff0c;vim 是从 vi 发展出来的一个文本编辑器&#xff0c;相当于增强版的 vi &#xff0c;其代码补完、编译及错误跳转等功能…

关闭PyCharm中因双击Shift而跳出的搜索框

有时候老是多次按到shift而跳出一个搜索框&#xff0c;本来在编写代码&#xff0c;怎么突然就开始搜索了&#xff0c;非常的烦人。 其实这个搜索框叫做“随处搜索”。 关闭步骤 1、打开PyCharm的设置。 2、在设置-高级设置中勾选-禁用双击修改键快捷键即可。

ES6: class类

类 class 面相对象class关键字创建类关于类的继承 面相对象 一切皆对象。 举例&#xff1a; 操作浏览器要使用window对象&#xff1b;操作网页要使用document对象&#xff1b;操作控制台要使用console对象&#xff1b; ES6中增加了类的概念&#xff0c;其实ES5中已经可以实现类…

vulhub中Apache Solr Velocity 注入远程命令执行漏洞复现 (CVE-2019-17558)

Apache Solr 是一个开源的搜索服务器。 在其 5.0.0 到 8.3.1版本中&#xff0c;用户可以注入自定义模板&#xff0c;通过Velocity模板语言执行任意命令。 访问http://your-ip:8983即可查看到一个无需权限的Apache Solr服务。 1.默认情况下params.resource.loader.enabled配置…

一点点金融 4

一点点金融 4 第一性原理&#xff1a;关键事件前后&#xff0c;市场会从不确定性转变为确定性弹簧板、天花板&#xff1a;作为止损、换策略的依据怎么判断弹簧板、天花板&#xff1f; 第一性原理&#xff1a;关键事件前后&#xff0c;市场会从不确定性转变为确定性 在关键事件…