Witam jestem nowy na forum i programowania dopiero zaczynam się uczyć. W szkole będę miał bardzo ważny egzamin w tym tygodniu i miałbym do was wielką prośbę o pomoc. Otóż jak w temacie egzamin składać się będzie z drzew binarnych, stosów i kolejek. Czy pomożecie mi zrozumieć i stworzyć parę ciekawych i oczywiście dla Was łatwych programów a raczej ich części ?
- Przeszukiwanie drzewa binarnego - znajdowanie największej i najmniejszej .
Odnośnie tego to wiem tylko tyle i czy to jest dobrze ?
BSTNode* Max( BSTNode *x )
{
while( x->right != NULL )
{
x = x->right;
}return x;
}
oraz
BSTNode* Min( BSTNode *x )
{
while( x->left != NULL )
{
x = x->left;
}return x;
- Następne to obliczenie sumy lewego prawego oraz wszystkich ? gdzie wstawic instrukcje sumy oraz zmienna zapamietujaca sume? z tym prosze o pomoc - wiem ze bedzie to ktoras z tych mozliwosci przeszukiwania drzew:
void PreorderTreeWalk( BSTNode *x )
{
if( x != NULL )
{
printf("%d ", x->key);
PreorderTreeWalk( x->left );
PreorderTreeWalk( x->right );
}
}
void PostorderTreeWalk( BSTNode *x )
{
if( x != NULL )
{
PreorderTreeWalk( x->left );
PreorderTreeWalk( x->right );
printf("%d ", x->key);
}
}
void InorderTreeWalk( BSTNode *x )
{
if( x != NULL )
{
InorderTreeWalk( x->left );
printf("%d ", x->key);
InorderTreeWalk( x->right );
}
}
- Kolejna rzecz to wyszukiwanie w drzewie liczb x< np od 10 i x>np od 10 ? chodzi o wstawienie warunków.(tylko gdzie)
- przkladanie kolejnosci w kolejkach i stosach na odwrotna - prosze o przyklady tak jak wyzej podawalem z drzewami.
5.dodawanie i usuwanie elemntu w stosie i kolejce - sumowanie i znajdywanie największej i najmneijszej w kolejce i stosie
Bardzo zalezy mi na czasie z gory dziekuje