我一直在努力想到像矢量和堆栈这样的东西。因为一旦我做了一些有用的事情,我发现自己最能记住事情。我找到了一些简短但有用的应用程序,你已经找到了几个java数据结构。
我不是在接受任何代码示例,但更多的东西在你的脑海中坚持“这是一个非常好的使用hashmap /链表等” - 然后我可以继续尝试自己。
答案 0 :(得分:2)
“有用性”是一个主观术语,但无论如何,学习数据结构的直观方法是使用它们来模拟现实生活中的活动。
模拟正在破碎一堆文件的秘书。她有 - 猜怎么着? - 她桌上的一叠文件,然后通过挑选顶部文件并将其送入碎纸机逐一切碎,重复此操作直到所有文件都被撕碎。
她的老板会间歇地走到她的办公桌前,把一个新的文件放在她的堆栈上。
模拟孩子们在操场上玩耍。孩子们围成一圈,然后每个孩子都会 - 猜猜是什么? - 通过与孩子左手(左手)和右手(右手)握手来连接。
从最小的孩子开始,围绕圈子做“Eeny,meeny,miny,moe”。那个“它”的孩子将不得不离开圆圈,并以最自然的方式关闭间隙,即让两个孩子围绕间隙连接起来。
从差距中重新启动“Eeny,meeny,miny,moe”。一时兴起走向相反的方向。这样做直到一个孩子还在。
答案 1 :(得分:0)
Stack的一个好用途是括号匹配。编写一个小程序,解析一些输入并报告括号语法是否正确(即每个开括号都有一个相应的结束括号)。
答案 2 :(得分:0)
堆栈的RPN Calculator怎么样?矢量几乎可以应用于任何问题。