2017-04-22 39 views
0

私はこのアプリケーションを作ったが、私はjavaの配列リストを使って作った。これはまだヒープなのでしょうか?ヒープアプリケーションを作成するためにjavaの配列リストを使用して?

それは

https://gist.github.com/anonymous/d0e5c609045b8edbffcadd25080b45f8

+0

このコードが正常に機能する場合は、[コードレビュー](https://codereview.stackexchange.com/)の姉妹サイトに送信してください。 –

+2

ところで、私たちはこのサイトのコードへのリンクをたどっていません。リンクが壊れるので。そしてその質問は他の人にとって役に立たなくなってしまいます。 –

+0

Wikipediaでバイナリヒープを検索し、配列を使用してビルドする方法を示します。 –

答えて

0

に動作します原因私はあなたのコードを見てきました。私はそれがヒープとみなされるとは思わない。ヒープはこの構造のようなデータを格納します

See this imageです。ヒープノードが

class hnode 
{ 
int key; 
hnode l; 
hnode r; 
hnode p; // parent 
// constructor 
hnode(int x){ key=x; l=r=p=null; } 
} 

のように予約限定

public void preorder(hnode temp) 
{ 
    if(temp!= null) 
    { 
     System.out.println(temp.key); 
     preorder(temp.l); 
     preorder(temp.r); 

    } 
} 

そして、mainメソッドをどのように見えるか

です

public class Heap { 

public static void main(String[] args) { 
maxheap obj= new maxheap(); 
obj.insert(12); 
obj.insert(7); 
obj.insert(6); 
obj.insert(10); 
obj.insert(8); 
obj.insert(20); 

obj.preorder(obj.rroot()); 
} 


} 

回答はMAXノードのだろう

20 
10 
7 
8 
12 
6 

Here is picture

関連する問題