算法与数据结构1800题 数组和广义表(一)

本文主要探讨了数据结构中的广义表概念及其操作方法,并分析了不同数据结构的特点与应用场景,同时介绍了算法中的典型问题及解决策略。

A 画图
起始地址 + 字节数,而不是 + 字节*8位

B

A

EAB
(1)中,串由6个字节组成,本题中不算末尾的'\0'

(2)题中,第8列和第5行有一个重复元素

对答案有疑问,答案选B,我选A

B 画图找规律

数组通常具有的两种基本操作是:查找和修改
而不是插入,删除,索引

D
对矩阵进行压缩存储,是为了减少存储空间,而不是为了方便存储,压缩之后的矩阵,存储起来不方便


D

系数矩阵的压缩存储,主要有两种方法:三元组法(包括普通三元组法和带有行链接信息的三元组法)和十字链表法

C

C
三元组矩阵的转置:
1)将行列值对换
2)将i和j互换
3)重排三元组之间的次序(原来是以矩阵M的行索引,从小到大进行排列的,现在需要以M的列索引,从小到大进行排序,以便于进行索引)

C

A
S(n+1) - S(n) = n + 2;

给出的正确答案:B 题目有问题

B 代数法

B
上三角矩阵和下三角矩阵是对称的,只保存一份,对角线保存一份

三元组表示法,包括一个三元组矩阵和三个值:原矩阵行数,列数,非零元素个数
一共有1032 + 3*2 = 66个字节

B
三维矩阵 5 * 3 * 3=45

A
j = r[j].next;

广义表可以简单表示为LS = (a1,a2,...,an),其中a1,a2,...an是广义表的元素,可以是原子(不能再分割),也可以是广义表的子表
广义表的长度定义为广义表的最高层所含元素的个数(即用逗号分隔开的最高层元素个数,不包括圆括号),最高层的元素(如上面的a1,a2...an)具有线性关系(前驱和后继).非空广义表的取头运算结果是广义表的第一个元素(原子或者子表),而取尾运算为广义表出去第一个元素后所剩的元素的子表,肯定是广义表

C 括号的最深层数

C

D

A

C

tail是取表尾,取出来的必须是一个表,如果只有一个元素,那么就需要加上括号
head是表头,取出来的是什么,就是什么,可以是表,也可以是元素
本题中:
tail(LS) = ( (d,e,f) ) (重要)
head(tail(LS)) = (d,e,f);
tail(head(tail(LS)) ) = (e,f);
head(tail(head(tail(LS)))) = e;

D 易错

A

A

C

A

F

A A

将线性表的数据元素进行扩充,允许是带结构的线性表的是:广义表

A
广义表的表头可以是元素,可以是广义表
广义表的表尾总是一个广义表
广义表难以用顺序结构存储
广义表可以是一个多层次的结构

广义表可以是一个递归结构

转载于:https://juejin.im/post/5b6fdcf6e51d45663b7b5e4e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值