• ベストアンサー

二分木探索でN番目の要素を探索するには

二分木探索で特定の要素の有無を調べる関数は作れたのですが、N番目に小さい要素を見つける方法が思い浮かびません。 二分木探索でN番目に小さい(昇順でN番目)の要素を探索するにはどのような手法があるのか教えて頂けないでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.1

確か、通りがけ順を使うと小さいものから探索するはずです。 小さい方からN番目が求める答えではないでしょうか。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wap58
  • ベストアンサー率33% (29/87)
回答No.2

scanf("%d",&n)をグローバル変数に代入でどうですか void _search(node_p * node,int n){ if(node->left != NULL)_search(node->left,n); GLOBAL_count--; if(GLOBAL_count == 0) printf("%d 番目の要素 => %d\n",n,node->num); if(node->right != NULL)_search(node->right,n); }

すると、全ての回答が全文表示されます。

関連するQ&A