2011-01-30 71 views
-1

在我上大学的日子里,我曾经在C/C++中做过关于树,链表,bst,b树等数据结构的编程,但是在我上大学的日子里,我在过去的2年中一直在使用java,从来没有使用过这些数据结构。我没有任何关于如何在java中实现tress,bst,b树的线索。任何人都可以给我一些关于如何在java中实现简单数据结构的线索?我知道Java有很多内置的这种形式的collections.I要实现bst,链表,树,在java中在java中实现数据结构

+1

这个问题还可以:“如何在Java中实现什么?”。 – Daniel 2011-01-30 10:04:01

回答

0

它和C++一样。

语法几乎相同,只是你没有指针 - 你有参考。

一切都是通过引用,所以如果你说你知道C++,只是想想而已,因为所有的功能,让他们有&参考参数。

1

它特定于数据结构,因为我认为指针在实现这些指针时非常重要,而java没有指针。

Java确实有指针的等价物。它们被称为“对象引用”或简单的“引用”。

授予C/C++样式指针和Java引用之间的区别。 (例如,您不能对Java引用进行算术运算或将Java整数转换为引用)。但是,这些“限制”都不能阻止您实现通用数据结构。事实上,如果有的话更容易,因为你不需要担心内存管理......在大多数情况下。

其他答案为使用Java作为主要展示语言的数据结构的教科书提供参考。

0

相反的指针,你可以使用的对象,如果你想我可以上传你举个例子,当我得到稀疏矩阵的家在Java中几乎是工作,他同指针。它更容易在java中实现数据结构,因为你没有Memomry分配的问题Java为你做了......而关于实现让我们说你有像结点一样包含Item对象并在java对象中留下同样的东西的结构继承人一个例子

public class Node<T> { 
    T data; 
    Node<T> left; 
    Node<T> right; 


    public Node<T>(T data, Node<T> left, Node<T> right) { 
     ... 
    } 
} 

和getter和setter