图书管理系统用二叉树搜索树 代码

图书管理系统用二叉树搜索树 代码

2023年6月22日发(作者:)

图书管理系统用二叉树搜索树 代码

1.二叉排序树的构建二叉树数据存储结构在本系统中以对象的形式表现:

其中类Binarytree是一个二叉树对象,BinarytreeNode类对应的是二叉树节点,类Binarytree只需要持有一个根BinarytreeNode对象即可。

public class BinaryTree private BinaryTreeNode root;而BinarytreeNode类需持有一个Book对象(用于存储节点的图书信息),一个List对象(若拼音首字母相同,则需要将各个Book信息存储到List信息中),两个BinarytreeNode对象,分别用于存储它的左子节点和右子节点,这样的话,每个节点将持有它的两个子节点的对象,可以实现对各个节点联通起来,构成树结构。

public class BinaryTreeNode private Book data; private

Listdatas new ArrayListO;

private BinaryTreeNode leftTreeNode; private

BinaryTreeNode rightTreeNode;根据数据库图书表中书籍名称的首字母信息(字符ASCII码的大小),构造二叉排序树。例如我们在图书表中搜索到五条记录分别是:生态保护、摩托车驾驶与安全、中国国家书目、世纪大讲堂、传感器原理、中国园林艺术、二级C语言程序设计、信息安全。提取出它们名称首字母的前四项,构造一个线性表(STBH,MTCJ,ZGGJ,SJDJ,CGQY,ZGYL,EJCY,XXAQ),以表中STBH为根结点,以后的各个数据,逐个插入结点,在插入过程的每一步,原有树结点位置不再变动,只是将新数据的结点作为一个叶子结点插入到合适的位置,使树中任何结点的数据与其左、右子树结点数据之间的关系仍然符合对二叉排序树的要求,构造出二叉排序树如图所示,并按照二叉排序树的原理建立对应的二叉树关系表。

2.为实现二叉排序树的构建,就需要使用合适的关键字来实现排序。本系统采用书名作为关键字。由于书名情况复杂,现提取书名拼音首字母作为比较的具体方法。为此,需要写一个将汉字转化为拼音并提取首字母的Java类

(),通过网上查找,它需要用到包。

import Helper; import

inyinCaseType;

import

inyinOutputFormat;

import inyinToneType;

import inyinVCharType;

public static String getPinYinHeadChar(String str){

HanyuPinyinOutputFormat t3 new HanyuPinyinOutputFormat O;

t eType (ASE);

eType(T-TONE);

arType (-V); String

convert "" for (int j=0;j

char word (j); String pinyinArray

uPinyinStringArray (word, t3);豆丁if

(pinyinArray !nul1)

convert +pinyinArray(0).charAt (0); convert

+word;

}

}

return convert;

}

发布者:admin,转转请注明出处:http://www.yc00.com/web/1687383568a5989.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信