Extras din notiță
//Varianta A: Arbori B :structura , cel mai lung cuvant,cel mai mare cuvant din arbore.
#define N 2
#define M 4
//Strunctura necesara pentru implementare
typedef struct pag* pag1;
typedef struct
{
char *cheie;
int contor;
pag1 p;
}nod;
struct pag
{
nod e[M];
int x;
pag1 p0;
};
pag1 radacina=NULL;
//cel mai lung cuvant din arborele B
int max=0;
int cel_mai_lung(pag1 p)
{ int i;
if (p)
{for (i=0;i<p->x;i++)
{int lungime=strlen(p->e[i].cheie);
if(lungime>max) max=lungime;
}
cel_mai_lung(p->p0);
for(i=0;i<p->x;i++) cel_mai_lung(p->e[i].p);
}
return max;}
//cel mai mare cuvant din arborele B in ordine lexicografica
char *cuv="";
char* cel_mai_mare(pag1 p)
{int i;
if (p)
{
for (i=0;i<p->x;i++)
if (strcmp(p->e[i].cheie,cuv)>0)
cuv=p->e[i].cheie;
cel_mai_mare(p->p0);
for (i=0;i<p->x;i++)
cel_mai_mare(p->e[i].p);}
return cuv;}
//Varianta B sau J: Arbore binar -> afisare pe nivele a cheilor
//Strunctura necesara pentru implementare
typedef struct pn
{
int cheie;
int contor;
struct pn *stang,*drept;
}nod;
nod *root=NULL;
typedef struct cd
{
nod * x;
struct cd *urm;
}coada;
coada * coada1=NULL,* coada2=NULL;
Preview document
Conținut arhivă zip
- Proiectarea si Analiza Algoritmilor.docx