სეგმენტური ხე: განსხვავება გადახედვებს შორის

[შეუმოწმებელი ვერსია][შეუმოწმებელი ვერსია]
== სტრუქტურა და იმპლემენტაცია ==
სეგმენტური ხის ფესვში მოცემულია მთლიანი მასივის შესახებ ინფორმაცია, ანუ [1..n] (n - მასივის ზომა), მის მარცხენა შვილში [1..n / 2] , მარჯვენაში [n / 2 + 1, n] და ასე შემდეგ. შევნიშნოთ, რომ სეგმენტი ორ ნაწილად იყოფა. თუ სეგმენტის ზომა კენტია, არ აქვს მნიშვნელობა მარჯვენაში იქნება მარცხენაზე ერთით მეტი ზომის მქონე სეგმენტი - თუ პირიქით. სეგმენტური ხის ფოთლები, მარცხნიდან მარჯვნივ წარმოადგენენ მასივის ელემენტებს, რადგან ბოლოში მაქსიმალურად დაყოფილი, ანუ ერთ ელემენტიანი სეგმენტებია.
[[ფაილი:Segment_tree.svg|მინი| სეგმენტურის ხის სტრუქტურის გრაფიკული მაგალითი ]]განვიხილოთ კლასიკური ამოცანა, სეგმენტის მინიმალური მნიშვნელობების პოვნა q შეკითხვისთვის (Range Minimum Queries - (RMQ)).
 
 
კოდი C++ - ზე.
 
 
განახლების ფუნქცია
 
 
ინფორმაციის მოძიების ფუნქცია, ამ შემთხვევაში მინიმალური მნიშვნელობის პოვნა
481

რედაქტირება