۰
subtitle
ارسال: #۱
ساخت درخت هیپ به روش جوانترین پدر
سلام
دوستان من ساخت درخت هیپ به روش جوانترین پدر رو از کتاب مقسمی خوندمام چندین و چند مشکل برام پیش اومده
در کتاب گفته شده که اول کلیهی مقادیر گرهها وارد یه آرایه میشه. منظور اینه که بدون مرتب سازی این اتفاق میوفته؟؟ یعنی فقط مقادیر از ورودی خونده شده؟؟؟
اگر اینطوره و اونها وارد یک آرایه میشن، در ادامه کتاب گفته حالا از پایین درخ (انتهای ارایه) شروع می کنیم و هر پدر و فزندانشون رو به شکل هیپ تنظیم میکنیم و تاکید کرده این کارور از انتهای آرایه به سمت ابتدا انجام میدیم.
و ما در الگوریتم پدر رو با اندیس j در نظر میگیره و چنین خطی در برنامه داریم:
۲*j=i
حالا سوال اصلی من.
اگر داریم از انتها آرایه رو میخونیم پس i درابتدا برابر n هست که طول ارایه هست و وقتی ضربدر ۲ هم بشه به عدد ۲n میرسیم. و اصلا نمیتونیم هیپ رو تظیم کنیم.
آیا دارم به شکل اشتباهی این الگوریتم رو تحلیل میکنم ؟؟!!
از کمکتون در طی یه مثال ممنون میشم
دوستان من ساخت درخت هیپ به روش جوانترین پدر رو از کتاب مقسمی خوندمام چندین و چند مشکل برام پیش اومده
در کتاب گفته شده که اول کلیهی مقادیر گرهها وارد یه آرایه میشه. منظور اینه که بدون مرتب سازی این اتفاق میوفته؟؟ یعنی فقط مقادیر از ورودی خونده شده؟؟؟
اگر اینطوره و اونها وارد یک آرایه میشن، در ادامه کتاب گفته حالا از پایین درخ (انتهای ارایه) شروع می کنیم و هر پدر و فزندانشون رو به شکل هیپ تنظیم میکنیم و تاکید کرده این کارور از انتهای آرایه به سمت ابتدا انجام میدیم.
و ما در الگوریتم پدر رو با اندیس j در نظر میگیره و چنین خطی در برنامه داریم:
۲*j=i
حالا سوال اصلی من.
اگر داریم از انتها آرایه رو میخونیم پس i درابتدا برابر n هست که طول ارایه هست و وقتی ضربدر ۲ هم بشه به عدد ۲n میرسیم. و اصلا نمیتونیم هیپ رو تظیم کنیم.
آیا دارم به شکل اشتباهی این الگوریتم رو تحلیل میکنم ؟؟!!
از کمکتون در طی یه مثال ممنون میشم