coisini002 2023-03-09 10:29 采纳率: 51.3%
浏览 25
已结题

数据结构三对角矩阵的存储地址的计算

.己知三对角矩阵 A的每个元素占 2 个单元,现将其三条对角线上的元素逐行存储在起始地址为 1000的连续的内存单元中,则元素 A[7,8]的地址为()
答案算出来是1038,不是1040吗,

(1)CAR(CDR(((a,b),(c,d),(e,f))))
(2)CDR(CAR(((a,b),(c,d),(e,f))))
(3)CAR(CDR(CAR(((a,b),(e,f)))))
(4)CDR(CAR(CDR(((a,b),(e,f)))))
(5)CDR(CDR(CAR(((a,b),(e,f)))))
注:CAR 运算相当于有些教材中的 Head 运算,CDR 运算相当于 Tail 运算。
解析(1)(c,d) (2)(b) (3)b (4)(f) (5)()
第一个,它tail不是空表吗,还有第四个

  • 写回答

1条回答 默认 最新

  • 张卷地 2023-03-09 11:06
    关注

    对于第一个问题,如果三对角矩阵 A 的每个元素占 2 个单元,并将其三条对角线上的元素逐行存储在起始地址为 1000 的连续内存单元中,则元素 A[7,8] 的地址应该是 1038,而不是 1040。因为 A[7,8] 在第 4 行、第 5 列,前面有 4 行、4 列共 8 个元素,每个元素占 2 个单元,因此地址为 1000 + 8 * 2 + 4 * 2 * 2 = 1038。

    对于第二个问题,CAR(CDR(((a,b),(c,d),(e,f)))) 的运算过程如下:

    (a,b),(c,d),(e,f) 中 CDR 取出第 2 个元素 (c,d),得到 ((c,d),(e,f))
    对 ((c,d),(e,f)) 进行 CAR 运算,取出第 1 个元素 c,得到结果 b
    因此,CAR(CDR(((a,b),(c,d),(e,f)))) 的结果是 b。

    对于第三个问题,CAR(CDR(CAR(((a,b),(e,f))))) 的运算过程如下:

    ((a,b),(e,f)) 中 CAR 取出第 1 个元素 (a,b),得到 (a,b)
    对 (a,b) 进行 CDR 运算,得到空表 ()
    因此,CAR(CDR(CAR(((a,b),(e,f))))) 的结果是空表 ()。

    对于第四个问题,CDR(CAR(CDR(((a,b),(e,f)))) 的运算过程如下:

    ((a,b),(e,f)) 中 CDR 取出第 2 个元素 (e,f),得到 ((e,f))
    对 ((e,f)) 进行 CAR 运算,取出第 1 个元素 e,得到结果 e
    因此,CDR(CAR(CDR(((a,b),(e,f))))) 的结果是 e。

    对于第五个问题,CDR(CDR(CAR(((a,b),(e,f)))) 的运算过程如下:

    ((a,b),(e,f)) 中 CAR 取出第 1 个元素 (a,b),得到 (a,b)
    对 (a,b) 进行 CDR 运算,得到空表 ()
    对空表 () 再进行 CDR 运算,仍然得到空表 ()
    因此,CDR(CDR(CAR(((a,b),(e,f))))) 的结果是空表 ()。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 已采纳回答 4月2日
  • 创建了问题 3月9日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效