栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

数组从a1,..,an,b1,.. bn移到a1,b1,.. an,bn

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组从a1,..,an,b1,.. bn移到a1,b1,.. an,bn

经过一番尝试和尝试/绊脚石之后,我认为我已经开始理解,尽管数学对我来说仍然很困难。我认为它是这样的:

确定换位的置换周期(这可以在实际数据传输期间或之前完成)。公式

to = 2*from mod (M*N - 1), where M = 2, N =array length / 2
可以用来查找索引目标(排列)。(因为我们知道M =
2,所以我简化了该问题的公式。)访问索引的标记可以帮助确定下一个循环的开始(从技术上讲,可以使用循环计算而不是位集作为标记,仅保留下一个循环开始(在内存中)。临时变量保存从起始地址到循环结束的数据。

总之,这可能意味着两个临时变量,循环计算和每个数组元素就位移动。

例如:

arr          = 0,1,2,3,4,5,6,7,8,9destinations:  0,2,4,6,8,1,3,5,7,9start = 1, tmp = arr[1]cycle start5->1, 7->5, 8->7, 4->8, 2->4, tmp->2cycle endnot visited - 3start = 3, tmp = arr[3]cycle start6->3, tmp->6cycle endTransposition complete.

任何问题?
随意提问,请访问http://en.wikipedia.org/wiki/In-
place_matrix_transposition



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号