码迷,mamicode.com
首页 > 编程语言 > 详细

C语言——二叉排序树

时间:2017-09-02 11:26:09      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:color   int   语言   div   btn   code   排序   parent   def   

二叉排序树是一种实现动态查找的树表,又称二叉查找树

二叉排序树的性质:

1. 若它的左子树不为空,则左子树上所有节点的键值均小于它的根节点键值

2. 若它的右子树不为空,则右子树上所有节点的键值均大于它的根节点键值

3. 根的左右子树也分别为二叉排序树

 

#include <stdio.h>
#include "BinTree.h"

// 二叉排序树的查找算法

/*
// 二叉链表的类型定义
typedef struct btnode
{
    int key;
    struct btnode *lchild, *rchild; // 指向左右孩子的指针
}*BinTree;

// 三叉链表的类型定义
typedef struct ttnode
{
    int data;
    struct ttnode *lchild, *parent, *rchild;
}*TBinTree;
*/

/*
在根指针所指的二叉排序树上递归地查找键值等于key的节点。
若成功,则返回指向该节点的指针,否则返回空指针。
*/
BinTree SearchBST(BinTree bst, int key)
{
    if(bst == NULL) return NULL;
    else if(key == bst->key) return bst;
    else if(key < bst->key) return SearchBST(bst->lchild, key);
    else return SearchBST(bst->rchild, key);
}

 

C语言——二叉排序树

标签:color   int   语言   div   btn   code   排序   parent   def   

原文地址:http://www.cnblogs.com/lqcdsns/p/7465985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!