Encontrar
Notas pessoais, intrusão
A pesquisa binária também é chamada de pesquisa binária.
Ele deve perguntarEstrutura de armazenamento sequencialE requerOrdenadamente。
int Search_Bin(SSTable ST,KeyType key)
{
low=1;
high=ST.length;
while(low<=high)
{
mid=(low+high)/2;
if(ST.R[mid].key==key) return mid;
else if(ST.R[mid]>key) high=mid-1;
else low=mid+1;
}
return 0;
}
Árvore de arranjo binário
As características da árvore de classificação binária: todas as subárvores esquerdas são menores que o nó raiz, todas as subárvores direitas são maiores que o nó raiz e a subárvore também é uma árvore de classificação binária.
declaração
typedef struct
{
KeyType key; //关键字域
InfoType otherInfo; //其他数据项
}ElemType;
typedef strcut BSTnode;
{
ElemType data;
struct BSTnode *lchild,*rchild;
}BSTndoe,*BSTree;
inserir
void InsertBST(BSTree &T,ElemType e)
{
if(!T)
{
BSTree S=new BSTree;
S->data=e;
S->lchild=S->rchild=NULL;
T=S;
}
else if(e.key>T->data.key) InsertBST(T->rchild,e);
else InsertBST(T->lchild,e);
}
crio
void CreatBST(BSTree &T)
{
T=NULL;
cin>>e;
while(e.key!=ENDFLAG)
{
InsertBST(T,e);
cin>>e;
}
}
Árvore binária balanceada
O desempenho de pesquisa de uma árvore de classificação binária depende da estrutura da árvore de classificação binária e a forma da árvore binária depende do conjunto de dados
Se for ordenado, a complexidade do tempo de busca é O (n). Se a estrutura for razoável, a complexidade do tempo de busca é O (log 2 n). De fato, quanto menor a altura da árvore, mais rápida a busca. Portanto, uma árvore binária balanceada, também conhecida como árvore AVL, é proposta.
Uma árvore binária equilibrada ou uma árvore vazia tem as seguintes características:
(1) O valor absoluto da diferença entre a profundidade das subárvores esquerda e direita não excede 1
(2) As subárvores esquerda e direita também são árvores binárias equilibradas
Método de ajuste de equilíbrio da árvore binária balanceada
Obviamente, construir uma árvore em uma árvore binária balanceada é propício para a eficiência da pesquisa.
Então, como converter uma árvore binária não balanceada em uma árvore binária balanceada:
Se o fator de equilíbrio (fator de equilíbrio, BF) de um nó em uma árvore binária é definido como a
diferença entre a profundidade das subárvores esquerda e direita do nó, então o fator de equilíbrio de todos os nós na árvore binária equilibrada pode encontrar apenas -1, 0 e 1. Enquanto
o valor absoluto do fator de equilíbrio de um nó na árvore binária for maior que 1, a árvore binária é desequilibrada
Qual é o significado da ordem M na árvore B?
Fundo de árvore B
Segundo método de detecção
continua. . . (2021/1/16)