TTreeSentinel
Ruang kerja kode dengan AI

Urutan ketat pohon pencarian biner

Validasi simpul pencarian bilangan bulat dengan dua referensi anak.

● ● ●TreeSentinel●
Alur kerja · Urutan ketat pohon pencarian biner ×
def is_strict_bst(root):
    pending, seen, checks = [(root, None, None)], set(), []
    while pending:
        node, low, high = pending.pop()
        if node is None:
            continue
        if type(node) is not list or len(node) != 3 or type(node[0]) is not int:
            raise ValueError("tree.node")
        if id(node) in seen or len(seen) == 1000:
            raise ValueError("tree.structure")
        seen.add(id(node))
        value, left, right = node
        checks.append((value, low, high))
        pending.extend([(right, value, high), (left, low, value)])
    return all((low is None or low < value) and
               (high is None or value < high) for value, low, high in checks)
✳Urutan ketat pohon pencarian biner
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
01

Tinjau sebelum menerapkan

Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

02

Model

Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.

03

Proyek

Uji pohon kosong dan batas leluhur, kembalikan salah untuk kunci ganda dan tolak siklus, anak bersama, simpul rusak atau lebih dari 1000 simpul.

Alur kerja

Urutan ketat pohon pencarian biner

Alur kerja ↗
Alur kerja
def is_strict_bst(root):
    pending, seen, checks = [(root, None, None)], set(), []
    while pending:
        node, low, high = pending.pop()
        if node is None:
            continue
        if type(node) is not list or len(node) != 3 or type(node[0]) is not int:
            raise ValueError("tree.node")
        if id(node) in seen or len(seen) == 1000:
            raise ValueError("tree.structure")
        seen.add(id(node))
        value, left, right = node
        checks.append((value, low, high))
        pending.extend([(right, value, high), (left, low, value)])
    return all((low is None or low < value) and
               (high is None or value < high) for value, low, high in checks)
Ruang kerja kode dengan AI

Tinjau struktur sebelum memercayai nilai di dalamnya

TreeSentinel menyediakan ruang kerja proyek Windows untuk pemeliharaan data terstruktur dan percakapan AI yang terkait berkas sumber. Mulailah dengan menunjukkan tempat aplikasi menerima struktur dan cara memakai hasil validasi. Minta model memeriksa seluruh batas itu sebelum mengusulkan pemeriksaan lebih sederhana atau traversal berbeda.

Misalnya, tugas terkait bst_order.py dapat menyelidiki pohon yang anak langsungnya tampak terurut tetapi nilai lebih dalam melanggar batas leluhur. Sertakan struktur yang gagal dan hasil harapan. Lalu tanyakan penanganan simpul berformat salah dan referensi berulang agar perbaikan urutan tidak mengabaikan asumsi bentuk yang ditelusuri.

Tinjau usulan untuk hasil yang berbeda: pohon valid, kegagalan urutan, dan struktur berformat salah. Jalankan pemeriksaan proyek yang relevan dan periksa cara setiap hasil mencapai pemakai. Nyatakan setiap perubahan kebijakan kunci duplikat secara eksplisit. Suntingan perbandingan yang tampak kecil dapat mengubah data yang diterima aplikasi terkait.

TreeSentinel terhubung ke endpoint yang kompatibel dengan OpenAI atau endpoint Anthropic yang didukung, dengan kredensial bila diperlukan. Anda dapat memilih model AI abliterasi jika endpoint menawarkannya. Batasan penyedia, batas konteks, dan alat yang tersedia tetap menjadi bagian pengaturan tersebut; peninjauan harus mengandalkan struktur konkret dan hasil teramati, bukan keyakinan model.

Pertanyaan untuk validasi data terstruktur

Mengapa menguji pelanggaran di bawah anak langsung?

Perbandingan lokal dapat lolos sementara keturunan melanggar batas leluhur sebelumnya. Berikan kasus uji bersarang kecil yang memperlihatkan perbedaan itu dan nyatakan hasil harapan. Tinjau traversal usulan terhadapnya sebelum menerima penyederhanaan logika validasi.

Apakah kunci duplikat merupakan kesalahan bentuk atau keputusan urutan?

Definisikan dalam kontrak aplikasi. Contoh menerapkan urutan ketat yang mengecualikan kunci sama. Periksa apakah pemakai membedakan masukan berformat salah dari struktur berformat benar yang gagal urutan, dan pertahankan konvensi respons itu dalam usulan perubahan.

Apa pengaruh referensi simpul berulang?

Itu dapat berarti masukan bukan bentuk pohon yang diharapkan rutinitas, meskipun nilai individual tampak dapat diterima. Sertakan kasus uji referensi bersama atau siklus jika sesuai. Periksa penghentian dan perilaku penolakan, bukan hanya mengandalkan contoh bersarang biasa.

Bisakah validasi diganti dengan pemeriksaan keluaran terurut?

Hanya setelah memperhitungkan struktur dan perilaku kegagalan yang diperlukan pemanggil. Pemeriksaan nilai yang diratakan dapat menyembunyikan simpul berformat salah atau asumsi traversal. Minta model menjelaskan kompromi tersebut menggunakan sumber nyata sebelum mengubah kontrak validasi.

Unduh untuk Windows ↗

TreeSentinel · Diperbarui 2026-10-25