当前位置: 首页 > wzjs >正文

开发网站和application个人网站的制作实验报告

开发网站和application,个人网站的制作实验报告,市场营销的策划方案,优秀定制网站建设方案一.哈夫曼树 哈夫曼树(Huffman Tree)是一种特殊的二叉树,其定义和原理如下: 【1】定义 哈夫曼树是一种带权路径长度最短的二叉树。给定一组权值,将这些权值作为叶子节点的权值构造一棵二叉树,若该树的带…

一.哈夫曼树

哈夫曼树(Huffman Tree)是一种特殊的二叉树,其定义和原理如下:

【1】定义

哈夫曼树是一种带权路径长度最短的二叉树。给定一组权值,将这些权值作为叶子节点的权值构造一棵二叉树,若该树的带权路径长度(WPL)达到最小,则称这样的二叉树为哈夫曼树。

【2】原理

哈夫曼树的构造基于贪心算法,其原理是通过不断合并权值最小的节点来构建最优二叉树,从而实现最小化带权路径长度。具体步骤如下:

  1. 初始化:将所有给定的权值分别作为叶子节点,构造一个只包含一个根节点的二叉树集合。

  2. 选择与合并:从集合中选取权值最小的两棵二叉树,分别作为左右子树构造一棵新的二叉树,新二叉树的根节点权值为其左右子树根节点权值之和。

  3. 更新集合:从集合中删除作为左右子树的两棵二叉树,并将新构造的二叉树加入集合。

  4. 重复操作:重复上述步骤,直到集合中只剩下一棵二叉树,这棵二叉树即为哈夫曼树。

【3】特点

  • 哈夫曼树的带权路径长度最短,权值较大的节点离根节点较近。

  • 哈夫曼树的非叶子节点都有两个孩子。

  • 哈夫曼树的构造是自底向上的。

哈夫曼树常用于数据压缩中的哈夫曼编码,通过为出现频率高的字符分配较短的编码,为出现频率低的字符分配较长的编码,从而实现无损数据压缩。

【4】例:

二.哈希表

【1】hash表初始化

(1)初始化的len就是哈希表的key

(2)将head数组里的数据全部置为-1,以便于判断是否为空

memset 是 C 和 C++ 编程语言中的一个标准库函数,用于将一块内存区域的内容设置为指定的值。它的原型定义在头文件 <string.h>(C语言)或 <cstring>(C++语言)中。

(3)memset函数原型

c复制

void* memset(void* ptr, int value, size_t num);

参数

  1. ptr

    • 指向要填充的内存块的指针。

  2. value

    • 要设置的值。该值会被转换为 unsigned char 类型,并且会重复填充到内存块中。

  3. num

    • 要填充的字节数。

返回值

返回指向被填充的内存块的指针,即参数 ptr 的值。

功能

memset 函数将从 ptr 开始的内存区域的 num 个字节全部设置为 value。需要注意的是,value 会被解释为一个 unsigned char,因此它实际上是一个字节的值。

【2】哈希函数

返回求余数

【3】哈希表插入函数

求余后按位置插入,如果没有位置,循环遍历哈希表,直到有空位

【4】哈希查找(时间复杂度低)

循环查找,如果循环一圈的inx与oldinx相等,则没有找到

【5】主函数

三.liinux内核链表(循环双向链表)

【1】实现思路

【2】klist.h

宏通过指针和地址偏移计算,实现了对链表中元素的遍历和访问。offset宏用于计算成员变量的偏移量,containerof宏用于通过成员变量的指针找到其所属的结构体,klist_for_entry宏用于通过链表节点的指针找到其所属的结构体,klist_for_each宏用于遍历链表中的所有元素。这些宏在Linux内核中被广泛使用,用于链表操作

【3】klist.c

双向链表节点部分

【4】per.h

【1】结构体存放数据和节点地址

【2】已知节点地址可以通过偏移量结算存放数据的地址

【5】per.c

【6】main.c

http://www.dtcms.com/wzjs/802852.html

相关文章:

  • 南阳seo网站排名优化建设网站站点过程中
  • 国外网站推广公司wordpress 文章置顶显示
  • 现在什么网站做推广比较好规范网站维护 建设 管理
  • 投票网站开发html5 响应式网站
  • 做网站常用软件怎么做免费的产品图片网站
  • 东莞市研发网站建设企业网站开发程序员自学
  • 系部网站建设中期检查表网站服务器部署
  • 投资建设集团网站一些建筑设计网站
  • mvc5网站开发项目下载软件外包公司
  • 网站建设服务有哪些方面巨野网站建设
  • 做外贸网哪些网站免费做地方门户网站的资质
  • 河南国安建设集团有限公司信息网站wordpress新建文章随机一个阅读量
  • 简单网站的代码网站 建设 标准方案
  • 企业网站相关案例游戏代理加盟
  • 温州网站建设哪家专业显示危险网站怎么解决
  • 深圳网站建设服务公039 织梦云idc网站源码
  • 燕郊医院网站建设网站图片素材下载
  • 曹县 做网站的公司西部数码网站开发管理助手
  • 山河建设集团有限公司的网站秦皇岛网站排名
  • 专业网站建设渠道在线做字网站
  • 中企动力网站培训建网站平台 优帮云
  • 做视频网站侵权吗网站制作学费多少钱
  • 网站建设的功能有哪些方面wordpress更改ip后无法访问
  • 开展网络营销的企业网站有哪些wordpress文章外部链接
  • 网站检测报告哪里做北京建设注册中心网站
  • 手机建设中网站首页专门做婚庆的网站有哪些
  • 官方网站下载穿越火线广州越秀区发布紧急通告
  • 云南凡科建站哪家好怎么登陆自己建的网站
  • 舟山企业网站建设h5模板下载有哪些网站
  • 福州制作网站软件做视频网站服务器怎么选择