Деревья

Лекция 5. Деревья

}

Организация простейшего списка

#include <stdio.h>

struct TChain{

int val;

TChain* Next; };

int main ()

{

FILE *pFile;

int ik;

TChain *Head, *NewChain, *OldChain;

Head=new TChain; Head->Next=NULL; OldChain=Head;

pFile = fopen ("myfile.txt","rt");

while(!feof(pFile))

{ NewChain=new TChain;

fscanf(pFile,"%d \n",&ik); NewChain->val=ik;

NewChain->Next=NULL;

OldChain->Next=NewChain;

OldChain=NewChain;

}

fclose (pFile);

pFile = fopen ("myfile1.txt","w");

OldChain=Head;

do

{

NewChain=OldChain->Next;

ik=NewChain->val;

fprintf(pFile,"%d \n",ik);

delete OldChain;

OldChain=NewChain;

} while (NewChain->Next!=NULL);

fclose (pFile);

return 0;

}

ДЕРЕВЬЯ

При построении рандомизированного дерева основное исходное положение заключается в том, что любой элемент может с одинаковой вероятностью быть корнем дерева. Причем это справедливо и для поддеревьев рандомизированного дерева. Поэтому при включении нового элемента в дерево, случайным образом выбирается включение элемента в качестве листа, или в качестве корня. Вероятность появления нового узла в корне дерева или поддерева определяется, как 1/(n+1), где n – число узлов в дереве или поддереве. (n — размер дерева до вставки)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: