temp偏移量问题

来源:1-3 实现归并过程

PHP微信小程序开发

2021-12-15 09:18:04

老师你好,我用php实现,逻辑照你的来写,测试用例:arr{7, 1, 4, 2, 8, 3, 6, 5}但是运行结果不正确。

ps:我用left表示老师的L

https://img.mukewang.com/climg/61b9414a097ed51411840911.jpg



但是我让i 和 j 不减 left 结果反而正确了,我还不清楚问题出在哪里,请老师指点


https://img.mukewang.com/climg/61b9420f093fba6512730895.jpg



写回答

1回答

liuyubobobo

2021-12-15

你的 temp 和 arr 之间没有偏移。因为 temp = arr 以后,temp 和 arr 的大小一样。对比课程代码中,temp 的大小是 r - l + 1,arr 的大小是 n。


你的写法相当于课程后续的一个优化中的写法,参考这里 69-91:https://git.imooc.com/class-105/Play-Algorithms-and-Data-Structures/src/master/10-More-about-MergeSort/03-MergeSort-Advanced-Optimization/src/MergeSort.java


(但是,你的 temp 是一个全局变量?)


继续加油!:)

0
hHP微信小程序开发
hp>好的老师,我的temp不是全局变量

h021-12-15
共1条回复

算法与数据结构

波波老师5年集大成之作,算法与数据结构系统学习,考试、面试、竞赛通用

2610 学习 · 1087 问题

查看课程