Estrutura de dados (6) - Pesquisar e classificar

Encontrar


Notas pessoais, intrusão


A pesquisa binária também é chamada de pesquisa binária.

Ele deve perguntarEstrutura de armazenamento sequencialE requerOrdenadamente

Insira a descrição da imagem aqui

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;	
}

Insira a descrição da imagem aqui

Á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.
Insira a descrição da imagem aqui

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

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui


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

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui


Insira a descrição da imagem aqui


Insira a descrição da imagem aqui


Insira a descrição da imagem aqui


Qual é o significado da ordem M na árvore B?

Insira a descrição da imagem aqui


Insira a descrição da imagem aqui


Fundo de árvore B

Insira a descrição da imagem aqui


Segundo método de detecção

túnel do tempo


continua. . . (2021/1/16)

Acho que você gosta

Origin blog.csdn.net/Touale/article/details/112709667
Recomendado
Clasificación