第56页2.1.2最终代码copy语法属于dict而非list,因此要用花括号而不能用中括号
不对,copy是列表包含的方法,就是小括号。
本书62页的代码next = List[Pointer[next]改为next = ListPointer[next]。
是的
63页 第6行 next= LinkedList[head][next] 改为next= LinkedList[head][pointer]
本书60页的二分法代码,应该讲第十行的start改为head。
这个我也看到了
本书56页的代码之中,应该在ans.insert(ind+i,arr2[i])之后与break之前加上一句ind+=1.如果按照书中的代码,当我们比较完arr2的第一个元素2以后,该轮到比较第二个元素5了。如果,没有ind+=1,那么程序将把5与arr1中的第二个元素2进行比较。而事实上,arr2是一个有序数组,默认这个5肯定大于刚刚插入的arr2[0](这里就是2)的。所以,原算法有这样一个冗余。
不对,如果第二个数组中有重复的数字呢?例如数组是2,2,5,8,11,这样就会出现错误,或者是2,5,8,9也会出错。你无法肯定arr2的下一个元素一定比arr1[ind]大。
第19页,倒数第4行,原文“and和or可以叠加,并默认从左到右运算。”,python逻辑运算中,and的优先级高于or,也就是说”True or True and False”的结果为”True”,而不是从左到右运算的结果”False”。
谁也无法保证一本200多页的书一处错误也没有,我觉得作者写这本书的出发点是好的,有错误大家一起完善就好了,我觉得这本书对我是有帮助的,感谢作者。
第56页
2.1.2最终代码
copy语法属于dict而非list,因此要用花括号而不能用中括号
本书62页的代码next = List[Pointer[next]改为next = ListPointer[next]。
本书60页的二分法代码,应该讲第十行的start改为head。
本书56页的代码之中,应该在ans.insert(ind+i,arr2[i])之后与break之前加上一句ind+=1.
如果按照书中的代码,当我们比较完arr2的第一个元素2以后,该轮到比较第二个元素5了。如果,没有ind+=1,那么程序将把5与arr1中的第二个元素2进行比较。而事实上,arr2是一个有序数组,默认这个5肯定大于刚刚插入的arr2[0](这里就是2)的。所以,原算法有这样一个冗余。
第19页,倒数第4行,原文“and和or可以叠加,并默认从左到右运算。”,python逻辑运算中,and的优先级高于or,也就是说”True or True and False”的结果为”True”,而不是从左到右运算的结果”False”。
谁也无法保证一本200多页的书一处错误也没有,我觉得作者写这本书的出发点是好的,有错误大家一起完善就好了,我觉得这本书对我是有帮助的,感谢作者。