虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

n树

  • 求一棵加分值最高的二叉树

    求一棵加分值最高的二叉树,其中序遍历序列为给出的节点编号顺序,如1,2,3,4,5...n,求出的树加分值最高

    标签: 二叉树

    上传时间: 2017-08-03

    上传用户:BOBOniu

  • 此文件夹中共包括十二个小程序 AVL创建平衡二叉树,通过加入一个个的结点创建,并实现了平衡二叉树中的结点删除 Boyer_Moore算法的串模式匹配 Horspool算法的串模式匹配 Grap

    此文件夹中共包括十二个小程序 AVL创建平衡二叉树,通过加入一个个的结点创建,并实现了平衡二叉树中的结点删除 Boyer_Moore算法的串模式匹配 Horspool算法的串模式匹配 Graph实现了有向图的非递归广度优先遍历及非递归深度优先遍历 HeapSort利用堆排序实现优先级队列 Merge实现二路归并排序算法 MFK动态规划解背包问题 nqueue求解n皇后问题 QuickSort快速排序算法的实现。 Shell排序算法的实现。 Tree程序中实现了先序\中序\后序遍历二叉树的非递归算法。 tubao用递归法解决突包问题

    标签: Boyer_Moore Horspool Grap AVL

    上传时间: 2017-08-08

    上传用户:佳期如梦

  • 哈弗曼树huffi

    “Huffman-树”不仅能对文本数据进行编码、译码,提高文本数据的传输效率,同时它也能对多媒体数据(如:数字图像、视频等)进行编码、译码,从而实现多媒体数据的压缩存储。目前,在Web互联网上广泛使用的JPEG图像格式就采用了Huffman编码,与其他图像格式(如:BMP、TIF等)相比,同一副图像采用JPEG格式时所需的存储空间是最少的。在这个实验中,请设计一个Huffman编/译码器,并模拟数字图像的压缩存储(编码)和解码显示(译码)的过程。 (1)构造“Huffman-树”: ①读入一个大小为N*M(N为图像的高度,M为图像的宽度)的灰度图像块,该图像中的每个像素(元素)的取值范围是0~255,取值为0表示该像素是“黑色”,取值为255表示该像素是“白色”,其他取值表示介于“黑色”和“白色”之间的灰度值。 ②统计读入图像块中每种灰度值出现的次数,并去除出现次数为零的灰度值,以此作为构造“Huffman-树”所需的权值。 ③说明:在构造“Huffman-树”的过程中,当有多个待合并元素的权值相同时,每次选择灰度值较小的两个元素进行合并。 (2)Huffman编码(压缩存储):读入新的灰度图像块,利用已建立好的“Huffman-树”对其进行编码,将图像的宽度、高度信息和编码结果保存到文件(如:compress_image.txt)中,同时计算Huffman编码的压缩比并输出。压缩比的计算公式如下:压缩比=原始图像所需比特数/压缩后图像所需比特数。 (3)Huffman译码(解码显示):读入压缩存储的灰度图像,利用已建立好的“Huffman-树”对其进行译码,将译码结果按照原有宽度、高度还原图像,并将还原之后的图像保存到文件(如:decoding_image.txt)中。

    标签:

    上传时间: 2016-12-02

    上传用户:592595

  • 哈弗曼树的简单建立

    读入输入的n的大小,n个字符串,和权值建立哈弗曼树,并进行哈夫曼编码

    标签: C语言哈弗曼树

    上传时间: 2019-11-16

    上传用户:zlmzlm

  • 二叉树子系统

    #include<stdio.h> #define TREEMAX 100 typedef struct  BT { char data; BT *lchild; BT *rchild; }BT; BT *CreateTree(); void Preorder(BT *T); void Postorder(BT *T); void Inorder(BT *T); void Leafnum(BT *T); void Nodenum(BT *T); int TreeDepth(BT *T); int count=0; void main() { BT *T=NULL; char ch1,ch2,a; ch1='y'; while(ch1=='y'||ch1=='y') { printf("\n"); printf("\n\t\t             二叉树子系统"); printf("\n\t\t*****************************************"); printf("\n\t\t           1---------建二叉树            "); printf("\n\t\t           2---------先序遍历            "); printf("\n\t\t           3---------中序遍历            "); printf("\n\t\t           4---------后序遍历            "); printf("\n\t\t           5---------求叶子数            "); printf("\n\t\t           6---------求结点数            "); printf("\n\t\t           7---------求树深度            "); printf("\n\t\t           0---------返    回            "); printf("\n\t\t*****************************************"); printf("\n\t\t      请选择菜单号 (0--7)"); scanf("%c",&ch2); getchar(); printf("\n"); switch(ch2) { case'1': printf("\n\t\t请按先序序列输入二叉树的结点:\n"); printf("\n\t\t说明:输入结点(‘0’代表后继结点为空)后按回车。\n"); printf("\n\t\t请输入根结点:"); T=CreateTree(); printf("\n\t\t二叉树成功建立!\n");break; case'2': printf("\n\t\t该二叉树的先序遍历序列为:"); Preorder(T);break; case'3': printf("\n\t\t该二叉树的中序遍历序列为:"); Inorder(T);break; case'4': printf("\n\t\t该二叉树的后序遍历序列为:"); Postorder(T);break; case'5': count=0;Leafnum(T); printf("\n\t\t该二叉树有%d个叶子。\n",count);break; case'6': count=0;Nodenum(T); printf("\n\t\t该二叉树总共有%d个结点。\n",count);break; case'7': printf("\n\t\t该树的深度为:%d",TreeDepth(T)); break; case'0': ch1='n';break; default: printf("\n\t\t***请注意:输入有误!***"); } if(ch2!='0') { printf("\n\n\t\t按【Enter】键继续,按任意键返回主菜单!\n"); a=getchar(); if(a!='\xA') { getchar(); ch1='n'; } } } } BT *CreateTree() { BT *t; char x; scanf("%c",&x); getchar(); if(x=='0') t=NULL; else { t=new BT; t->data=x; printf("\n\t\t请输入%c结点的左子结点:",t->data);         t->lchild=CreateTree(); printf("\n\t\t请输入%c结点的右子结点:",t->data);         t->rchild=CreateTree();     } return t; } void Preorder(BT *T) { if(T) { printf("%3c",T->data); Preorder(T->lchild); Preorder(T->rchild); } } void Inorder(BT *T) { if(T) { Inorder(T->lchild); printf("%3c",T->data); Inorder(T->rchild); } } void Postorder(BT *T) { if(T) { Postorder(T->lchild); Postorder(T->rchild); printf("%3c",T->data); } } void Leafnum(BT *T) { if(T) { if(T->lchild==NULL&&T->rchild==NULL) count++; Leafnum(T->lchild); Leafnum(T->rchild); } } void Nodenum(BT *T) { if(T) { count++; Nodenum(T->lchild); Nodenum(T->rchild); } } int TreeDepth(BT *T) { int ldep,rdep; if(T==NULL) return 0; else { ldep=TreeDepth(T->lchild); rdep=TreeDepth(T->rchild); if(ldep>rdep) return ldep+1; else return rdep+1; } }

    标签: 二叉树 子系统

    上传时间: 2020-06-11

    上传用户:ccccy

  • N系列射频同轴连接器

    N系列射频同轴连接器

    标签: 射频 同轴连接器

    上传时间: 2013-06-29

    上传用户:eeworm

  • 用于FPGA的N+0.5分频代码

    用于FPGA的N+0.5分频代码,可以用来进行非整数分频!

    标签: FPGA 0.5 分频 代码

    上传时间: 2013-08-06

    上传用户:weixiao99

  • 多路18b20测温显示系统,可同时测量n个第三18b20

    多路18b20测温显示系统,可同时测量n个第三18b20

    标签: 18b20 多路 测温 显示系统

    上传时间: 2013-08-21

    上传用户:zhangchu0807

  • 使8051能访问整个128KB的RAM空间和128KB的FlashRom空间,在CPLD内建两个寄存器\r\n

    8051工作于11.0592MHZ,RAM扩展为128KB的628128,FlashRom扩展为128KB的AT29C010A\r\n 128KB的RAM分成4个区(Bank) 地址分配为0x0000-0x7FFF\r\n 128KB的FlashRom分成8个区(Bank) 地址分配为0x8000-0xBFFF\r\n 为了使8051能访问整个128KB的RAM空间和128KB的FlashRom空间,在CPLD内建两个寄存器\r\n RamBankReg和FlashRomBankReg用于存放高位地址

    标签: 128 FlashRom 8051 KB

    上传时间: 2013-08-30

    上传用户:cainaifa

  • 自己现在用的CPLD下载线原理图用74HC244芯片\r\n

    自己现在用的CPLD下载线,用74HC244芯片\r\n要注意设置下载模式

    标签: CPLD 244 74 HC

    上传时间: 2013-08-31

    上传用户:dancnc