数据结构-线性表、串、矩阵、广义表

本文详细介绍了网络安全专业考研复试面试的准备策略,涵盖数据结构、算法等关键知识点,如顺序表操作、栈与队列特性、串的匹配算法(BF与KMP)、矩阵压缩存储、广义表的链表存储等,为考生提供全面的复习指导。

网安考研复试备战-面试

数据结构复习

第二章 线性表

顺序表的优缺点
在这里插入图片描述

顺序表删除/添加元素的前后移动:

前移

//删除第i个位置的元素
for (int j=i;j<length;j++)
	data[j-1] = data[j];

后移

//在第i个位置增加元素
for (int j=length-1;j>i-1;j--)
	data[j+1] = data[j];

顺序表与链表的对比
在这里插入图片描述

第三章 栈与队列

栈的特点:先进后出
队列的特点:后进先出

第四章 串

蛮力算法—BF
在这里插入图片描述
BF特点:
算法性能低,因为每趟不成功的时存在大量的回溯,没有利用已经匹配部分的结果。

KMP模式匹配算法
特点
充分利用了已经匹配的部分串,在主串不回溯的情况下,模式串向右进行滑动。
在这里插入图片描述
在这里插入图片描述
这里最关键的就是求模式串的next数组值
next数组记录的是模式串向右滑动的距离。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

KMP算法描述
在求得next数组后,匹配可按照以下步骤进行
在这里插入图片描述

第五章 矩阵

对于矩阵元素,要压缩存储

1、对称阵

用线性表存储上三角或者下三角,找到二维矩阵的下标与线性表的关系即可。

2、三角阵

在这里插入图片描述
只存储上三角或下三角元素,元素c可放在线性表的结尾。

3、对角矩阵

在这里插入图片描述
可按行存储。

4、稀疏矩阵

稀疏矩阵中的零元素分布是无规律的。
可用三元组来压缩存储
定义三元组:
在这里插入图片描述
三元组表:将稀疏矩阵的非零元素对应的三元组所构成的集合,按行优先的顺序排列成一个线性表。
在这里插入图片描述
三元组存储下的矩阵转置:
在这里插入图片描述
在这里插入图片描述

第六章 广义表

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
广义表用链表存储,采用头尾表示法:
有两种结点:

  1. 表结点----存储广义表
  2. 元素结点----存储单元素
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值