- Struktura i stworzenie drzewa BST
struct drzewo
- Tworzenie liścia drzewa BSE
struct drzewo *lisc(int k);
- Dodanie nowego elementu do drzewa, wykorzystanie funkcji lisc
struct drzewo *dodaj(struct drzewo *d, int k);
- Zniszczenie drzewa?
void zniszcz(struct drzewo *d);
- Wypisanie prefiksowe
void wypisz1(struct drzewo *d);
- Wypisania prefiksowe wpisanie wyniku w pole pola inf
void wypiszWys(struct drzewo *d);
- Wypisanie infiksowe
void wypisz2(struct drzewo *d);
- Wypisanie postfiksowe
void wypisz3(struct drzewo *d);
- Funkcja zlicza elementy w drzewie
int ileElem(struct drzewo *d);
- Ile liści ma drzewo
int ileLisci(struct drzewo *d);
int ileLisci2(struct drzewo *d);
int ileLisci3(struct drzewo *d);
- Największy element w drzewie BST
int maxBST(struct drzewo *d);
- Najmniejszy ekement w drzewie BST
int minBST(struct drzewo *d);
- Klon drzewa (kopia)
struct drzewo *kopia(struct drzewo *d);
- Klon drzewa odbity symetrycznie
struct drzewo *kopiaOdb(struct drzewo *d);
- Wysokość drzewa (głebokość drzewa)
int wysokosc(struct drzewo *d);
- Głębokość najmniejszego liścia
int minlisc(struct drzewo *d, int rek);
int minlisc(struct drzewo *d);
int minlisc2(struct drzewo *d);
int minlisc3(struct drzewo *d);
- Znajdowanie elementu w drzewie BST - rekurencja
struct drzewo *findBST(struct drzewo *d, int w);
- Znajdowanie elementu w drzewie BST - iteracja
struct drzewo *findBST2(struct drzewo *d, int w);
- Drzewo w liste - lista wskaźników na drzewo
void przepisz(struct drzewo *d, struct lista **L);
- Liście drzewa w liste - lista wskaznikow na drzewo
void przeLisc(struct drzewo *d, struct lista **L);
- Równe drzewa co do ksztaltu -- nie dziła :(
int ksztalt(struct drzewo *d, struct drzewo *t);
Lepszy podobny do zliczania liści
int ksztalt2(struct drzewo *d, struct drzewo *t);
- Równe drzewa co wartości
int wartosci(struct drzewo *d, struct drzewo * t);
- Ile elementów w rzedzie x /*ileWrzedzie(d, x, 0, 0);*/
int ileWrzedzie(struct drzewo *d, int wiersz, int rek);
int ileWrzedzie(struct drzewo *d, int wiersz);
- Zamiana lewego syna na korzeń w drzewie BST
struct drzewo *zamianaL(struct drzewo *d);
- Zamiana prawego syna na korzeń w drzewie BST
struct drzewo *zamianaP(struct drzewo *d);
- Funkcja wyszukuje wartość k w drzewie, zwraca wskaźnik na niego i element.
Poprzedzający podobna do findBST2
struct drzewo *search(struct drzewo *d, int k, struct drzewo **poprz);
- Funkcja usuwa element o wartości k z drzewa - wykorzystanie search()
void del(struct drzewo **d, int k);
- Funkcja usuwa max element
struct drzewo *delMax(struct drzewo *d);
- Funkcja usuwa min element
struct drzewo *delMin(struct drzewo *d);
- Wskaźnik na max element i jego poprzednik w drzewie
struct drzewo *searchMax(struct drzewo *d, struct drzewo **przed);
- Wskaźnik na min element w drzewie i jego poprzednika
struct drzewo *searchMin(struct drzewo *d, struct drzewo **przed);
- Funkcja usuwa korzeń
struct drzewo *delRoot(struct drzewo *d);
- Funkcja usuwa element k z drzewa wykorzystanie funkcji search i delRoot
struct drzewo *delElem(struct drzewo *d, int k);
- Czy dane drzewo jest drzewem BST
int czyBst(struct drzewo *d);
int czyBST2(struct drzewo *d);
- Głębokość wersja 2 - to samo co wysokość
int glebokosc(struct drzewo *d);
- Najgłebsza rekurencja
int rek(struct drzewo *d, int r);
- Czy drzewo jest kopcem
int czyKopiec(struct drzewo *d);
- Czy drzewa mają takie same kształty
int czyKsztalt(struct drzewo *d, struct drzewo *t);
- Czy drzewa mają takie same wartości
int czyWartosci(struct drzewo *d, struct drzewo *t);
- Wskaźnik na ojca
void linkOjciec(struct drzewo *d, struct drzewo **przed);
- k-ty co do wielkości element
struct drzewo *kty(struct drzewo *d, int k);
- Fastryga elementów postfiksowych
struct drzewo *postfix(struct drzewo *d);
- Fastryga prefiksowa
struct drzewo *prefix(struct drzewo *d);
- Fastryga infuksów
struct drzewo *infix(struct drzewo *d, struct drzewo *po);
- Funkcja podąrza za linkiem w drzewie
void showlink(struct drzewo *d);
- Fastryga na liście z prawej do lewej
struct drzewo *liscfix(struct drzewo *d);
- Wartosc największego liścia pod nim podwieszonego
void maxlisc(struct drzewo *d);
- Wyświetlenie drzew wiersz po wierszu
void show(struct drzewo *d);
- Czy jest tyle samo elementów z lewej co z prawej od korzenia
int czyRowno(struct drzewo *d);
- Przykład dodania elementów do drzewa BST i wypisanie infikswe