data structures and algorithms_Java数据结构和算法书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Java数据结构和算法 > data structures and algorithms
YGC Java数据结构和算法 的书评 发表时间:2014-07-09 20:07:23

data structures and algorithms

好几年前就入手了《算法C++实现》,到现在都没看,断断续续在看《C++ Primer Plus》,一直没什么时间,只完成了一半。

最近学java,凭借着C++的基础,在网上看了点文档,就着手开始用java写代码。当我解Distances in Trees时,一如既往地简单粗暴去解决问题,写下了NWCK.java,当我写完程序之后,发现多半情况下是没有问题的,但在计算只有括号而没有逗号的树时,比如:

(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))Pagophila_viridis))Ovis_cavirostris))))))))))))))))))))))))))))))))))))))))))))))))))))));

距离会被少算了2,我花了很多时间,才发现问题出在这里,又花了很多时间,实在没看出代码有什么问题,于是判断一下,没有逗号,距离就+2,我自己都觉得这样的代码太tricky。

于是哥怒了,正如Linus Torvalds所说:

    Bad programmers worry about the code. Good programmers worry about data structures and their relationships.


为了存储树,我要学数据结构,在看了amazon上的书评,我选择了《data structures and algorithms in java》这本,港大图书馆有一堆java数据结构的书,偏偏就没有这本,于是我盯着电脑看电子版!花了一个月的时间,看完之后,并不后悔看瞎了狗眼,这本书总的来说,还是相当不错的,这类书通常看着都比较痛苦,但这本书一路看下来,还是蛮友好的,作者写了一些applet来演示,上面废话好多,我通常都是跳过,课后的题,我也没做。

看完了书,重新回到nwck的题上,于是有了NWCK2.java,使用了图来存储树,计算的代码更容易写了,逻辑也更加清晰了,这样有问题也容易debug,也容易扩展,而且程序的速度也提高了。

这里在定位节点的时候,实现了breadth first search,对于遍历的节点,使用Queue来存储,而Queue又是以之前写的LinkedList来实现。

有了这个数据结构,扩展起来也容易,加权树实现起来,也就是1个小时的事情。

始于nwck树解析的需求,到现在成功实现,希望这是告别屌丝码农的开始。

以上权当是《data structures and algorithms in java》的书评吧。

原文: http://ygc.name/2014/07/09/data_structures_algorithms/

展开全文
有用 4 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读