繁体   English   中英

关于使用数组表示约瑟夫斯难题

[英]Regarding representation of Josephus puzzle using arrays

罗伯特·塞德威克(Robert Sedwick)的算法,提到链接列表可以使用数组表示,在下面的链接中

http://flylib.com/books/en/3.55.1.34/1/

图3.8,如果从我的理解中删除了5,则在删除val 5时应将下一个4更改为索引6,随着时间的推移,我们建议在更改val 3之后删除项目4的数字。 我没有遵循图的逻辑。 谁能帮我。

谢谢!

索引是从零开始的,而不是值本身(字母将是更好的值)。
删除值5示例:在删除之前,值为4的节点的下一个索引为4,它指向值5 删除后,下一个索引更改为5,指向值6 (下一个从4更改为5)。

或者,使用前缀v表示值:

之前

    index ...  3  4  5 ...
    ----------------------
    value     v4 v5 v6
    next       4  5  6

    index ...  3  4  5 ...
    ----------------------
    value     v4 v5 v6
    next       5  5  6  

如您所见,节点v4之后是v6 (索引5),实际上已从链中删除了v5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM