当前位置:网站首页>C # indexe l'arbre binaire en traversant l'ordre moyen
C # indexe l'arbre binaire en traversant l'ordre moyen
2022-06-29 12:47:00 【Crépuscule et ciel étoilé】
Cet article explique
C#Indice de l'arbre binaire par traversée de l'ordre médian
Un arbre binaire qui ajoute des indices aux noeuds d'un arbre binaire est appelé Arbre binaire des indices,Sur un arbre binaire d'une manière ou d'une autre(Comme d'habitude.、Dans l'ordre、Ordre ou hiérarchie, etc.)Traverser,Le processus de transformation de l'arbre binaire en arbre binaire est appelé indice de l'arbre binaire. [1]
PournArbre binaire à noeuds,Il y an+1Champs de chaînes vides,Utilisez ces champs de chaînes vides pour stocker des pointeurs vers les noeuds précurseurs et les noeuds suivants du noeud dans un certain ordre de traversée,Ces pointeurs sont appelés indices,Un arbre binaire avec des indices s'appelle un arbre binaire avec des indices.
Cette liste binaire avec des indices s'appelle la liste des indices,L'arbre binaire correspondant est appelé Arbre binaire indice(Threaded BinaryTree).Selon la nature de l'indice,L'arbre binaire des indices peut être divisé en arbre binaire des indices pré - ordonnés、Arbre binaire à indice intermédiaire et arbre binaire à indice postérieur trois espèces.
Attention!:La liste des indices résout le problème de ne pas trouver directement les noeuds avant et après le noeud dans une séquence de traversée,Résolution de la liste binaire à gauche、Problèmes difficiles avec les enfants de droite.
///
/// Indexer l'arbre binaire en traversant l'ordre médian
///
///
///
static void InThread(ref ThreadNode p, ref ThreadNode pre)
{
if (p != null)
{
InThread(ref p.lchild,ref pre);
if (p.lchild == null) { p.lchild = pre; p.ltag = 1; }
if (pre!=null&&pre.rchild==null) { pre.rchild = p;pre.rtag = 1; }
pre = p;
InThread(ref p.rchild, ref pre);
}
}
///
/// Créer la logique principale de l'arbre binaire des indices
///
///
static void CreateInThread(ref ThreadNode T) {
ThreadNode pre = null;
if (T!=null) {
InThread(ref T,ref pre);
pre.rchild = null;
pre.rtag = 1;
}
边栏推荐
- Is it safe for Orient Fortune Securities to open an account? Handling of securities account opening
- MFC dialog program core -isdialogmessage function -msg message structure -getmessage function -dispatchmessage function
- Pygame 对图像进行翻转
- Newton inequality
- 揭秘百度智能测试在测试自动执行领域实践
- Introduction to multi project development - business scenario Association basic introduction test payroll
- go 学习-搭建开发环境vscode开发环境golang
- Qt中的UI文件介绍
- MIT线性代数中文笔记
- 面试突击61:说一下MySQL事务隔离级别?
猜你喜欢

1. opencv realizes simple color recognition

ERP编制物料清单 基础

推荐模型复现(二):精排模型DeepFM、DIN

C#实现图的邻接矩阵和邻接表结构

Cocos star meetings at Hangzhou station in 2022

ERP preparation of bill of materials Huaxia

Recurrence of recommended models (IV): multi task models esmm and MMOE

Murphy safety was selected for signing 24 key projects of Zhongguancun Science City

How to install oracle19c in Centos8

ERP编制物料清单 华夏
随机推荐
MFC-对话框程序核心-IsDialogMessage函数-MSG 消息结构-GetMessage函数-DispatchMessage函数
牛顿不等式
Uncover the practice of Baidu intelligent test in the field of automatic test execution
GBase8s数据库INTO STANDARD 和 INTO RAW 子句
How to calculate win/tai/loss in paired t-test
How to install oracle19c in Centos8
ZALSM_EXCEL_TO_INTERNAL_TABLE 导入数据大问题解决
AES-128-CBC-Pkcs7Padding加密PHP实例
Gbase8s database sorts standard or raw result tables
地球观测卫星数据
Deep understanding of volatile keyword
nvtmpp
Recurrence of recommended models (IV): multi task models esmm and MMOE
Inferiority complex and transcendence the meaning of life to you
JVM之方法区
huffman编码
Cereal mall project
[comprehensive case] credit card virtual transaction identification
Unexpected ‘debugger‘ statement no-debugger
Gbase8s database select has an order by clause