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日

悬赏问题

  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目