PDA

View Full Version : درخت



goodboy2
سه شنبه 08 فروردین 1396, 21:27 عصر
سلام . متد ساخت درخت (با 3 بچه) و insert تو اون درخت رو میخوام به php
خودم تو جاوا ساخته بودمش اما نمیدونم چرا اینجا هی ارور میده :|

goodboy2
چهارشنبه 09 فروردین 1396, 14:40 عصر
آقا عجیبه کسی نمیدونه چون کلا 10 خط نیست !
این صفحه رو ببینید به php کلا درخت میسازه اینسرت و ... هم نوشته ! ولی انگلیسیه نمیفهمم
https://www.sitepoint.com/data-structures-2/

Unique
پنج شنبه 10 فروردین 1396, 01:40 صبح
موضوع اینه که کسی اینجا سوالات دانشگاهی را پاسخ نمیده ! همین. اگه سوال کاربردی و اصولی داری بپرس در غیر اینصورت همکلاسیتون بهترین گزینست.

goodboy2
پنج شنبه 10 فروردین 1396, 12:27 عصر
موضوع اینه که کسی اینجا سوالات دانشگاهی را پاسخ نمیده ! همین. اگه سوال کاربردی و اصولی داری بپرس در غیر اینصورت همکلاسیتون بهترین گزینست.

اگر استفاده از درخت برای شما فقط درسی هست بهتره دیگه دست به کد نشید ! چون هنوز نمیدونید نصف سایتا و بازی های دنیا رو با همین درخته نوشتن !!! یک جست و جوی ناقص کنید میبینید !!!

Unique
جمعه 11 فروردین 1396, 00:22 صبح
اگر استفاده از درخت برای شما فقط درسی هست بهتره دیگه دست به کد نشید ! چون هنوز نمیدونید نصف سایتا و بازی های دنیا رو با همین درخته نوشتن !!! یک جست و جوی ناقص کنید میبینید !!!
موضوع این نیست که درخت کجا ها مورد استفاده هست یا مثلا حلقه ها و متغیر ها و غیره ... موضوع اینه قرار نیست تکلیف درسی دوستان را پاسخگو باشیم. اینجا عموما مشکلات ریز و درشت کدهاشون را میپرسن یا ایده و غیره را مطرح میکنن.

goodboy2
جمعه 11 فروردین 1396, 13:23 عصر
گفتیم سایت برنامه نویسه منم سوال برنامه نویسی دارم !
مهم نیست از جای دیگه پیدا کردم

arash691
جمعه 11 فروردین 1396, 17:32 عصر
سلام . متد ساخت درخت (با 3 بچه) و insert تو اون درخت رو میخوام به php
خودم تو جاوا ساخته بودمش اما نمیدونم چرا اینجا هی ارور میده :|

کافیه کلاس Node با سه اشاره گر درست کنید البته PHP که اشاره گر نداره منظور متغیری از جنس همون کلاس هستش


class Node
{
public $value, $left, $mid ,$right;

public function __construct($value)
{
$this->value = $value;
}
}

حالا درخت شما چی هستش ؟ طبق مسئله یک کلاس دیگه به اسم Tree بسازید و ادامه بدین مثلا" اگه BST هستش متد جستجوش اینطوری میشه :





class Node
{
public $value, $left,$right;

public function __construct($value)
{
$this->value = $value;
}
}class BST
{
public $root;

public function __construct($value = null)
{
if ($value !== null) {
$this->root = new Node($value);
}
}

public function search($value)
{
$node = $this->root;

while($node) {
if ($value > $node->value) {
$node = $node->right;
} elseif ($value < $node->value) {
$node = $node->left;
} else {
break;
}
}

return $node;
}
}

goodboy2
شنبه 12 فروردین 1396, 01:11 صبح
کافیه کلاس Node با سه اشاره گر درست کنید البته PHP که اشاره گر نداره منظور متغیری از جنس همون کلاس هستش


class Node
{
public $value, $left, $mid ,$right;
...
}

ممنونم آره همینه فقط :
الان این کد رو ببینید : https://www.sitepoint.com/community/t/binary-tree-using-php/8268/3
این خوبه ولی من میخوام به درخت پشت سر هم اضافه بشه نه بر اساس بزرگی و کوچکی ! یعنی ار چپ پر بشه تا راست بعد بره پایین . و تعداد بچه ها هم 4 تا باشه که اینجا 2تاس !
اینو میشه کاریش کرد ؟

arash691
یک شنبه 13 فروردین 1396, 11:21 صبح
ممنونم آره همینه فقط :
الان این کد رو ببینید : https://www.sitepoint.com/community/t/binary-tree-using-php/8268/3
این خوبه ولی من میخوام به درخت پشت سر هم اضافه بشه نه بر اساس بزرگی و کوچکی ! یعنی ار چپ پر بشه تا راست بعد بره پایین . و تعداد بچه ها هم 4 تا باشه که اینجا 2تاس !
اینو میشه کاریش کرد ؟
اگه میشه مثال بزنید یعنی شکل درخت و بکشید ورودی عدد هستش ؟

goodboy2
یک شنبه 13 فروردین 1396, 18:14 عصر
اگه میشه مثال بزنید یعنی شکل درخت و بکشید ورودی عدد هستش ؟
ببخشیدرفتیم13بدرنبودم.
خیلی ساده میخوام یک درخت باشه که هر خونه اش 4 تا فرزند داشته باشه بعد با یه متد دیگه 4 تا مقدار (ماتریس) رو مستقیم وارد 4 تا خونه ی اون نود کنم بعد همون حلقه که یکی یکی به به همه ی نود ها اینطوری 4 تا ماتریس اضافه میکنه بره به نود بدی و تا آخر .
یعنی 4 تا بچه ی هر نود در جا اضافه میشه بعد میره به نود بعدی و اون هم همینطور تا آخر .

این روش برای حل بازی 8-پازل هست که 4 تا حالت هر بار اضافه میشه به نود و وقتی تمام حالت ها تموم شد جواب پیدا میکنه