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

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

.己知三对角矩阵 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 相信营销号手欠改了处理器设置
  • ¥15 时间序列LSTM模型归回预测代码问题
  • ¥50 使用CUDA如何高效的做并行化处理,是否可以多个分段同时进行匹配计算处理?目前数据传输速度有些慢,如何提高速度,使用gdrcopy是否可行?请给出具体意见。
  • ¥15 基于STM32,电机驱动模块为L298N,四路运放电磁传感器,三轮智能小车电磁组电磁循迹(两个电机,一个万向轮),如何通过环岛的原理及完整代码
  • ¥20 机器学习或深度学习问题?困扰了我一个世纪,晚来天欲雪,能饮一杯无?
  • ¥15 c语言数据结构高铁订票系统
  • ¥15 关于wkernell.PDB加载的问题,如何解决?(语言-c#|开发工具-vscode)
  • ¥15 (标签-STM32|关键词-智能小车)
  • ¥20 关于#stm32#的问题,请各位专家解答!
  • ¥15 (标签-python)