有没有可靠的网站建设/常州seo博客
第一章 绪论
与数据元素本身的形式、内容、相对位置、个数无关的是数据的 逻辑结构。
第二章 线性表
在一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为 63.5。
n/2
单链表的存储密度 小于1。
创建一个包括n个结点的有序单链表的时间复杂度是O()。
求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低。
线性表的链式存储结构在一定场景下优于顺序存储结构。
第三章 栈和队列
若已知一个栈的入栈序列是1,2,3...,n,其输出序列为p1,p2,p3,...,pn,若p1=n,则pi为 n-i+1
一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为 (n+r-f)%n 。
对于非循环队列,尾指针和头指针的差值便是队列的长度;而对于循环队列,差值可能为负数,所以需要将差值加上n,然后与n求余。
链式栈结点为(data,link),top指向栈顶,若想删除栈顶结点,并将删除结点的值保存到x中,则应执行操作 x=top->data;top=top->link;
设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次进入栈S,一个元素出栈后即进入Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是 3。
画个图就能解决
若一个栈以向量V[1..n]存储,初始栈顶指针top设为n+1,则元素x进栈的正确操作是 top--;V[top]=x
设计一个判别表达式中左、右括号是否配对出现的算法,采用 栈 数据结构最佳。
用链接方式存储的队列,在进行删除运算时 头、尾指针可能都要修改。
在有头结点的链队列的出队操作中,一般只需修改队头指针,但当原队列中只有一个结点时,该结点既是队头也是队尾,故删去此结点时亦需修改队尾指针,使其指向头结点,且删去此结点后队列变空。
循环队列存储在数组A[0..m]中,则入队时的操作为
-
rear=(rear+1)mod(m+1)
最大容量为n的循环队列,队尾指针是rear,队头指针是front,则队空的条件是
-
rear=front
第四章 串
串是一种特殊的线性表,其特殊性体现在 数据元素是单个字符。
串是内容受限的线性表,栈和队列是操作受限的线性表
串是字符的有限序列;空串是指包括零个字符的串,空串的长度为零;空格串是由一个或多个空格组成的串;模式匹配是串的一种重要运算;串既可以采用顺序存储,也可以采用链式存储。
串“ababaaababaa"的next数组为 011234223456
串”ababaabab"的nextval为 010104101
假设以行序为主序存储二维数组A[1..100.1...100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5] = 818。
前4行总共4*100=400;第5行前4个元素再加上400个元素,总共404个;每个元素占2个单元404*2=808;加上基地址818。
设有数组A[i,j],数组的每个元素长度为3字节,i的值为1~8,j的值为1~10,数组从内存首地址BA开始顺序存储,当以列序为主序存储时,元素A[5,8]的存储首地址为 BA+180
假设数组的坐标是从(i,j)开始,设定一行的长度为M,一列的长度为N,每个元素占用K个存储单元,
若以行为主序列,那么a[5,8]的的位置为[(5-i)*M+(8-j)]*K;
同理,如果是以列为主序列,a[5,8]的的位置为 [(5-i)+(8-j)*N]*K。
题中,是以列为主存储,那么就应该是[(5-1)+(8-1)*8]*3=180
设有一个10阶的对此矩阵A,采用压缩存储方式,以行序为主序存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为 33
由于是对称矩阵,因此压缩存储可以认为只要存储下三角矩阵。
(1,1) 1
(2,1) (2,2) 2
(3,1) (3,2) (3,3) 3
(4,1) (4,2) (4,3) (4,4) 4
(5,1) (5,2) (5,3) (5,4) (5,5) 5
(6,1) (6,2) (6,3) (6,4) (6,5) (6,6) 6
(7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7) 7
(8,1) (8,2) (8,3) (8,4) (8,5) 5
1+2+3+4+5+6+7+5=33
B
D
第五章 树与二叉树
单选
把一棵树转换为二叉树后,这棵二叉树的形态 是唯一的。
二叉树的形态是唯一的。
一颗完全二叉树上有1001个结点,其中叶子结点的个数是 501
因为满二叉树的结点数为2 ^ n - 1,所以如果是满的,那么为1023个,但现在是1001,说明最后一层空了22个结点。最后一层有512 - (1023 - 1001) = 490个结点。最后一层空了22个结点,所以倒数第二层有11个叶子结点。490 + 11 = 501。
一个具有1025个结点的二叉树的高h为 11~1025。
因为完全二叉树有 个结点,n为高,此时n为10再加上1个结点为11;另一种极端情况为结点全部在最左或最右。
深度为h的满m叉树的第k层有 个结点(1<=k<=h)。
可以试例子试出答案
利用二叉链表存储树,则根节点的右指针 为空。
二叉链表存储树结构,那么任意节点的左孩子指向该结点的孩子结点,右孩子指针指向该节点的兄弟节点,因为这里是树,不是森林,所以树的根节点没有兄弟结点,则右指针是空。
在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是 82。
除了根节点之外,树的每个节点都有唯一的一个入度,因此计算出共有多少个出度,再加1就是树中总的节点数目。也就是20*4+10*3+1*2+10*1+1=123个
而四叉树里节点就5类,有4个孩子的,有3个孩子的,有2个孩子的,有1个孩子的,没有孩子的,现在前4类的数目知道了,是20+10+1+10=41,那么没有孩子的节点自然就是123-41=82个。
一颗非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足 只有一个叶子结点。
一定满足只有一个 叶子结点;可能满足 所有的结点均无左孩子或 所有的结点均无右孩子。
设哈夫曼树中有199个结点,则该哈夫曼树中有 100 个叶子结点。
首先需要明白两个知识点:
1、哈夫曼树中不存在度为1的节点,只有度为0和2的节点
2、n0=n2+1
其次要会求解:
设叶子结点的个数为n0,度为2的节点个数为n2,
则求全部节点数为:n=n0+n2
已知n0=n2+1,代入上式得:n=n2+1+n2=2*n2+1=199(题中给的数据)
求得n2=99,由此可得叶子结点n0=100
若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为 X的左子树中最右结点。
引入二叉线索树的目的是 加快查找结点的前驱或后继的速度。
设F是森林,B是由F变换而得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有
根据森林转换为二叉树的“左孩子右兄弟”的表示法,即对于每棵二叉树,每个结点的右指针指向其右邻兄弟。
针对每一个非终端结点,一定会有且仅有一个孩子结点没有右邻兄弟,即右指针领域为空。因此N个非终端结点,就有N个右指针域为空。
看完单棵二叉树,再来看这些二叉树是怎么连接成一棵二叉树的。原理是:将后一棵二叉树的根节点作为前一棵二叉树的右孩子连接起来,所以只有最后一棵二叉树的根结点没有右孩子,即右指针域为空。
因此综上:N个非终端结点,就有(N+1)个结点的右指针域为空。
应用题
第六章 图
具有n个顶点的有向图最多有 n(n-1) 条边。
n个顶点的连通图用邻接矩阵表示时,该矩阵至少有 2(n-1) 个非零元素。
所谓连通图一定是无向图,有向的叫做强连通图 连通n个顶点,至少只需要n-1条边就可以了,或者说就是生成树 由于无向图的每条边同时关联两个顶点,因此邻接矩阵中每条边被存储了两次(也就是说是对称矩阵),因此至少有2(n-1)个非零元素
G是一个非连通无向图,共有28条边,则该图至少有 9 个顶点。
完全连通图n*(n-1)/2=28 n=8,题为非连通图,故还要加一个点 也就是9个顶点
若从无向图的任意一个顶点出发进行一次深度优先搜索可以访问图中所有的顶点,则该图一定是 连通 图。
普利姆算法 适合构造一个稠密图G的最小生成树。
Prim算法适合构造一个稠密图G的最小生成树,Kruskal算法适合构造一个稀疏图G的最小生成树
用邻接表表示图进行广度优先遍历时,通常可借助 队列 来实现算法。
用邻接表表示图进行深度优先遍历时,通常可借助 栈 来实现算法。
图的深度优先遍历类似于二叉树的 先序遍历
深度优先遍历是先序遍历,广度优先遍历是层次遍历
图的BFS生成树的树高比DFS生成树的树高 小或相等。
C
画图可解
D;D
拓扑排序 方法可以判断出一个有向图是否有环。
第七章 查找
对包含n个元素的表进行顺序查找时,若查找每个元素的概率相同,则平均查找长度为(N+1)/2
第一个数的比较次数为1,第二个数的比较次数为2。。。以此类推第N个数的比较次数为N,所以总的比较次数为1+2+...+N=N(N+1)/2,平均比较次数为(N+1)/2,也即平均查找长度。
如果要求一个线性表既能较快地查找,又能适应动态变化的要求,最好采用 分块查找。
分块查找是折半查找和顺序查找的一种改进方法;折半查找:查询速度快,不适合动态变化。顺序查找:查询速度慢,适合动态变化。
对22个记录的有序表进行折半查找,当查找失败时,至少需要比较 4 次关键字。
折半查找与二叉排序树的时间性能 有时不相同。
不一定相同。 二叉排序树不一定是平衡树,它是只要求了左右子树与根结点存在大小关系,但是对左右子树之间没有层次差异的约束,因此通过二叉排序树进行查找不一定能够满足logn的,例如一棵只有多层左子树的二叉排序树。 只有是一棵平衡的二叉排序树时,其查找时间性能才和折半查找类似。
C
二叉排序树的左子树小于根节点;右子树大于根节点。
在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A的左孩子的平衡因子为0,右孩子的平衡因子为1,则应作 RL 型调整以使其平衡。
关于m阶B-树的说法
根结点至多有m棵子树;所有叶子都在同一层次上;非叶结点至少有m/2(m为偶数)或m/2+1(m为奇数)棵子树;所有结点中的数据都是有序的。
关于B-和B+树的叙述中,
B-树和B+树都是平衡的多叉树;B-树和B+树都可用于文件的索引结构;B-树支持随机检索不支持顺序检索,B+树都支持;
m阶B-树是一棵 m叉平衡排序树。
A
A
第八章 排序
D
D
C
D
B
B
C
D
A
2018-2019第一学期
单选
堆是一种平衡的数据结构。
AVL是一种平衡二叉搜索树。
2021-2022第一学期
2017
单选
B;根据二叉树的性质可知,度为0的结点个数比度为2结点个数多一个,即n0=n2+1。
C
应用
算法
int count(LNode *head){LNode *p;int n=0;p=head;while(p!=NULL){if(p->data==x){n++;p=p->next;}
return(n);
}
int Search(SSTable ST, KeyType key){int i;ST.elem[0].key=key;for(i=ST.length;!EQ(ST.elem[i].key,key);--i){return i;
}
2018
单选
C
C
B; 小顶堆是根结点小于子结点
应用
相关文章:

数据结构习题
第一章 绪论 与数据元素本身的形式、内容、相对位置、个数无关的是数据的 逻辑结构。 第二章 线性表 在一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为 63.5。 n/2 单链表的存储密度 小于1。 创建一个包括n个结点的有序单链…...

交通银行软件开发工程师校招面试经历
本文介绍2024届春招中,交通银行总行的软件开发工程师岗位1场面试的基本情况、提问问题等。 2024年04月投递了交通银行总行的软件开发工程师岗位,暂时不清楚所在部门。目前完成了一面,并进入体检阶段;在这里记录一下面试的相关经历…...

bashrc和profile区别
作用与目的: .bashrc:这个文件主要用于配置和自定义用户的终端环境和行为。每次启动新的终端时,.bashrc文件都会被执行,加载用户设置的环境变量、别名、函数等。这使得用户能够根据自己的喜好和需求来定制终端的行为和外观。profi…...

BC153 [NOIP2010]数字统计
数字统计 一.题目描述二.输入描述:三.输出描述:四.数字范围五.题目思路六.代码实现 一.题目描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。 比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次…...

浅谈LavelDB
简介 LevelDB 是一个开源的轻量级键值存储库,由 Google 开发,用于提供快速的键值存储和支持读写大量数据。LevelDB 具有高性能、快速的读取和写入速度以及支持原子操作的特点,适合用于需要高效存储和检索键值数据的场景。 LevelDB 主要特点…...

Google Earth Engine(GEE)——NDVI的时间序列分析和在线出图
函数: ui.Chart.array.values(array, axis, xLabels) Generates a Chart from an array. Plots separate series for each 1-D vector along the given axis. - X-axis = Array index along axis, optionally labeled by xLabels. - Y-axis = Value. - Series = Vector, d…...

谈吐的艺术(三)
不是要逼人屈服,而只是想请人遵守规定。 0可能遇到的问题 在快餐店买到的汉堡和薯条都是凉的,跟店员理论的时候对方却说味道没有不对。怎么说才能维护自己的权利呢? 更好的说法:“我想问一下,按照你们的规定,食品退换…...

pop链详细分析、构造(以[NISACTF 2022]babyserialize为例)
目录 [NISACTF 2022]babyserialize (一)理清pop链(链尾 链头),标注步骤 1. 先找eval、flag这些危险函数和关键字样(这是链尾) 2.往eval()上面看 3.往$bb()上面看 4.往strtolower()上面看 …...

使用超声波麦克风阵列预测数控机床刀具磨损
预测性维护是使用传感器数据来推断机器状态,并从这些传感器数据中检测出在故障发生之前存在的缺陷或故障的过程。预测性维护在所有工业领域都是一种日益增长的趋势,包括轴承故障检测、齿轮磨损检测或往复式机器中的活塞磨损等许多其他例子。在预测性维护…...

怎么控制多个存储设备的访问权限?数据安全存储方案来了
数据安全存储是指将数据以安全的方式存储在存储系统中,以确保数据的机密性、完整性和可用性。要控制数据安全存储的权限以保障安全,可以采取以下措施: 访问控制列表(ACLs):使用ACLs来定义对存储数据的访问权…...

麒麟系统mate_indicators进程占用内存资源高
一、问题现象 故障现象:环境出现内存溢出 操作系统:KYlin10-SP2 二、问题定位 发现mate-indicators进程占用内存资源达到节点总内存40%,导致服务出现内存熔断 临时解决 systemctl restart lightdm.service systemctl set-default multi-u…...

Docker高级篇之轻量化可视化工具Portainer
文章目录 1. 简介2. Portainer安装 1. 简介 Portianer是一款轻量级的应用,它提供了图形化界面,用于方便管理Docker环境,包括单机环境和集成环境。 2. Portainer安装 官网:https://www.portainer.io 这里我们使用docker命令安装&…...

Vue32-挂载流程
一、init阶段 生命周期本质是函数。 1-1、beforeCreate函数 注意: 此时vue没有_data,即:data中的数据没有收到。 1-2、create函数 二、生成虚拟DOM阶段 注意: 因为没有template选项,所以,整个div root都…...

算法金 | 一个强大的算法模型:t-SNE !!
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种用于降维和数据可视化的非线性算法。它被广泛应用于…...

用IAST工具强化“越权检测”能力,提升系统安全性
什么是越权漏洞 越权漏洞是一种常见的逻辑安全漏洞。越权漏洞指的是攻击者利用系统中的漏洞,获得超过其正常权限的访问权限,执行未授权操作。 越权漏洞主要分为两种类型:水平越权(横向越权)和垂直越权(纵…...

VirtualStudio配置QT开发环境
环境 VirtualStudio2022Qt5.12.10 安装msvc工具链(这一步不是必须的) 打开virtual studio,打开Virtual Studio Installer界面选择要安装的msvc版本,点击安装 安装VirtualStudio扩展 在线安装 打开virtual Studio,…...

Nature发文介绍使用ChatGPT帮助学术写作的三种方式
文章链接:https://www.nature.com/articles/d41586-024-01042-3 一、介绍 这篇文章是由Dritjon Gruda撰写的,讨论了生成性人工智能(AI)在学术写作、编辑和同行评审中的三种应用方式。Gruda认为,尽管学术界对聊天机器…...

【网络安全的神秘世界】Kali 自带 Burp Suite 使用指南:字体与CA证书设置详解等
🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 Kali 自带 Burp Suite 使用指南目录 Burp Suite的打开方式设置Burp Suite软件的字体大小查看Burp Suite 默认代理在火狐浏览器…...

【Go】爬虫数据解密_使用Go语言实现TripleDES加密和解密
是你多么温馨的目光 教我坚毅望着前路 叮嘱我跌倒不应放弃 没法解释怎可报尽亲恩 爱意宽大是无限 请准我说声真的爱你 🎵 Beyond《真的爱你》 引言 Triple Data Encryption Standard (TripleDES 或 3DES) 是一种对称加密算法,它通…...

【HarmonyOS NEXT】鸿蒙 如何在包含web组件的页面 让默认焦点有效
页面包含web组件Button组件等,把页面的默认焦点放到Button组件上,不起效果。 因为web组件默认会在组件加载完成后获取焦点; 可以在web的网页加载完成时onPageEnd回调中,将设置默认获焦的组件通过focusControl.requestFocus方法主…...

mysql常用参数配置详解my.cnf my.ini
1.关注生产中高频常用参数 # 数据库时区 log_timestamps = system # 刷盘策略 0,1,2 innodb_flush_log_at_trx_commit # 定义了 InnoDB 用于写日志数据的缓冲区大小。当事务发生时,日志首先被写入这个缓冲区,然后再被刷新(flush)到磁盘上的重做日志文件(redo log file…...

GlusterFS企业分布式存储
GlusterFS 分布式文件系统代表-nfs常见分布式存储Gluster存储基础梳理GlusterFS 适合大文件还是小文件存储? 应用场景术语Trusted Storage PoolBrickVolumes Glusterfs整体工作流程-数据访问流程GlusterFS客户端访问流程 GlusterFS常用命令部署 GlusterFS 群集准备环…...

SSH生成SSH密钥(公钥和私钥)
在设置SSH服务时,生成SSH密钥(公钥和私钥)是一个常见的任务。这些密钥用于安全地进行身份验证,无需输入密码。以下是如何生成SSH密钥的步骤: 1. 生成SSH密钥对 首先,您需要在客户端机器上生成一个SSH密钥…...

阶段性总结:如何快速上手一个新的平台或者技术
作为研发一枚,为了实现客户的各种需求,为了避免重复造轮子,通常需要快速调查到哪个轮子(比如各种平台,或者开发包等)好用,然后快速熟悉和上手。在接触到一个新的平台或者技术的时候,…...

kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数
场景: kettle中http post步骤如何发送http请求且传递body参数? 解决方案: http post步骤中直接设置Request entity field字段即可。 1、手边没有现成的post接口,索性用python搭建一个简单的接口,关键代码如下&#…...

第十二章:会话控制
会话控制 文章目录 会话控制一、介绍二、cookie2.1 cookie 是什么2.2 cookie 的特点2.3 cookie 的运行流程2.4 浏览器操作 cookie2.5 cookie 的代码操作(1)设置 cookie(2)读取 cookie(3)删除 cookie 三、se…...

【LeetCode滑动窗口算法】长度最小的子数组 难度:中等
我们先看一下题目描述: 解法一:暴力枚举 时间复杂度:o(n^3) class Solution { public:int minSubArrayLen(int target, vector<int>& nums){int i 0, j 0;vector<int> v;for (;i < nums.size();i){int sum nums[i];fo…...

MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
目录 前言1. 授予权限2. 撤销权限3. 查询权限4. Demo 前言 公司内部的数据库权限一般针对不同人员有不同的权限分配,而不都统一给一个root权限 1. 授予权限 授予用户权限的基本命令是GRANT 可以授予的权限种类很多,涵盖从数据库和表级别到列和存储过…...

Day39
Day39 JSP JSP底层 全称为Java Server Pages,JSP实际上就是一个servelet JSP:HTML页面Java代码,本质:servlet。 public class login_jsp{//JSP的9大内置对象private JSPWriter out;//当前JSP输出流对象private HttpServletRequest request;…...

Nginx之HTTP模块详解
Nginx是模块化的代码架构,其代码由核心代码与功能模块代码构成。Nginx的主要功能模块是HTTP功能模块,HTTP功能模块在HTTP核心功能的基础上为Nginx对HTTP请求的处理流程提供了扩展功能,这些扩展功能可以让用户很方便地应对访问控制、数据处理、…...