Search This Blog

2010-05-15

log2( x ): 2 Cуурьтай логарифм болон гүйцэт мод (Complete tree)

TURBO C/C++ -н math.h -д log2( ) функц тодорхойлогдоогүй байдаг юм байна.
Саяхан мод ашиглаад heap эрэмбэлэлт (heap sort) хийж байтал модны гүн, болон тухайн гүнд байх хүүгийн (node) тоог олох шаардлага гарлаа.
2 ын мод ашиглаж шийддэг асуудлууд их олон байдаг болохоор модны гүн болох хүүгийн тоог олох хэрэгцээ мөн төдий чинээ элбэ тохиолдоно.
i -р гүнд байх хүүгийн тоо: m = 2i ширхэг байна.
i -р гүн хүртэл хамгийн ихдээ байж болох хүүгийн тоо: n = 2i - 1 (гүйцэт мод).
Нөгөө талаас ямар гүнд яваагаа мэдэх хэрэгцээ гарч болох юм. Ингэхэд нэвтрэлт хийх бүрдээ тоолоод байж болно, эсвэл 2 суурьтай логарифм ашиглаад хялбархан олж болох юм. Энд '2 суурьтай логарифм' бодоох аргыг орууллаа.
Хэрэв ойлгохгүй, эсвэл илүү дэлгэрэнгүй тайлбарлуулахыг хүссэн зүйл байвал тэр тухайгаа бичиж үлдээгээрэй.
Мөн буруу зөрүү тайлбарласан зүйл байвал засч залруулна уу.

No comments:

Зурхай