En İyi 150 RöportajOrta

İkili Ağacı Serileştirme ve Seriden Çıkarma

'İkili Ağacı Serileştirme ve Seriden Çıkarma' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Orta

Serileştirme, bir veri yapısını veya nesneyi bir dosya veya bellek arabelleğinde depolanabilecek veya daha sonra aynı veya başka bir bilgisayar ortamında yeniden oluşturulmak üzere bir ağ bağlantısı bağlantısı üzerinden iletilebilecek şekilde bir bit dizisine dönüştürme işlemidir.

Bir ikili ağacı serileştirmek ve seri durumdan çıkarmak için bir algoritma tasarlayın. Serileştirme/seri durumdan çıkarma algoritmanızın nasıl çalışması gerektiğine ilişkin herhangi bir kısıtlama yoktur. Sadece bir ikili ağacın bir dizeye serileştirilebildiğinden ve bu dizenin orijinal ağaç yapısına göre seri durumdan çıkarılabildiğinden emin olmanız gerekir.

Ağaç, düzey sıralı bir liste olarak temsil edilir. İki işlevi uygulayın:

- Ağacı bir dizeye dönüştüren serialize(root: list) -> str.

- Dizeyi tekrar ağaca dönüştüren deserialize(data: str) -> list.

Test için, serileştiren ve ardından seri durumdan çıkararak sonucu döndüren serializeDeserialize(root: list) -> list uygulayın.

Kısıtlamalar
  • The number of nodes in the tree is in the range [0, 10000]
  • -1000 <= Node.val <= 1000

Örnekler

Example 1
Input
[1,2,3,None,None,4,5]
Output
[1,2,3,None,None,4,5]
Explanation

The tree is serialized to a string and deserialized back to the same tree structure.

Example 2
Input
[]
Output
[]
Explanation

An empty tree serialized and deserialized remains empty.

Need a Hint?
Kümeler veya yığınlar gibi Ağaçlara özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Editörde Aç
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.