指定された範囲で BST キーを印刷する実行時間を理解しようとしています。この例から理解しようとしましたが、理解できませんでした。
O(log n)がどこから来ているのか理解できたと思います。これは、BST を再帰的に通過することによるものです。これはO(log n)各側に必要ですが、次の点についてはわかりません。
はどこ
Kから来ているのか。印刷にかかる一定の時間ですか?はいの場合、ランタイムがO(log n)+O(k)ではないのはなぜですか。K を無視するよりもO(n)in order traversal からの はどこにありますか? このランタイムにないためです。ツリーの両側の範囲に複数の値がある場合、ランタイムがどのように変化するか。たとえば、範囲が 4 からだった場合はどうなるでしょうか。