その後の二分探索木トラバーサル順序:オファー(XXIII)を受賞

その後の二分探索木トラバーサル順序:オファー(XXIII)を受賞

検索マイクロチャネル公共番号:「AI-ming3526」以上のアルゴリズム、機械学習のための「この小さなコンピュータビジョン」、ドライ
CSDN:https://blog.csdn.net/baidu_31657889/
GitHubの:https://github.com/あいみ-CN / AILearners

まず、プライマー

このシリーズは、独自のアルゴリズムの下で能力を強化することを目指して、オンラインの質問ノートの牛をはねのける「安全オファーを証明するために、」私のブラシです。
安全性の問題を証明することを決議オファーをクリックして、完全なアルゴリズムを表示:安全オファー完全な分析演習を証明するために

第二に、タイトル

整数配列を入力して、アレイは、バイナリ検索ツリーをトラバースした後決意の結果ではありません。出力がYesであれば、そうでなければ出力号 任意の2つの数の入力配列が異なっていると仮定する。

1、アイデア

まず、帰りがけ順の概念を理解する必要があります。最後の番号がルートノードトラバーサルで、値は、ルートノードの左サブツリー未満である、値が右サブツリーのルートノードよりも大きいです。

例えば:

ファイル

{} 5,7,6,9,11,10,8例では、結果後順ルート値の最後の桁が8です。この配列において、最初の3つの数字6,7,8、ノード8の値は、左の部分木のノードであるよりも小さい、8,9、11及び大10よりも3桁の値であります右部分木のノードノード8。

我々は、次の配列と同じ方法の各部分に対応するサブツリーの構造を決定しました。実際には、これは再帰的なプロセスです。配列5,7,6のために、6最後の番号はルートノードの左の部分木の値です。図7は、右の子ノードである図5〜6時間、6は、ノードの左の子ノードの値です。同様に、配列9,11,10において、最後の符号10は、根ノードの右の部分木、小さな数字9〜10である11が右にある間、ノード10は、左の子ノードの値であります子ノード。

我々は、第1の左サブツリー及びアレイの右サブツリーの位置を決定し、その後、左サブツリーを決定する、再帰的なメソッドを使用し、右のサブツリーは、バイナリ検索ツリーはありません。

2、プログラミング

パイソン

コードの実装:

# -*- coding:utf-8 -*-
class Solution:
    def VerifySquenceOfBST(self, sequence):
        # write code here
        if not len(sequence):
            return False
        if len(sequence) == 1:
            return True
        # 定义整个数的长度
        length = len(sequence)
        # 根节点的值
        root = sequence[-1]
        i = 0
        # 判断左子树的位置
        while sequence[i] < root:
            i = i+1
        k = i
        # 判断右子树的值是否都大于根节点root
        for j in range(i,length-1):
            if sequence[j] < root:
                return False
        left_s = sequence[:k]
        right_s = sequence[k:length-1]
        left , right = True, True
        # 递归遍历左右子树的值
        if len(left_s) > 0:
            left = self.VerifySquenceOfBST(left_s)
        if len(right_s) > 0:
            right = self.VerifySquenceOfBST(right_s)
        return left and right

AIの詳細については、AIMI-CN AI学習交換基[1015286623]

技術、生活の中で楽しく共有:公共の私達の数コンピュータビジョンこの小さな週プッシュ「AI」シリーズのニュース記事を、あなたの関心を歓迎します!

おすすめ

転載: www.cnblogs.com/aimi-cn/p/11428376.html