会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
linzm14
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
8
9
10
11
12
13
14
15
16
下一页
2021年3月14日
Java 树结构实际应用 二(哈夫曼树和哈夫曼编码)
摘要: 赫夫曼树 1 基本介绍 1) 给定 n 个权值作为 n 个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为 最优二叉树,也称为哈夫曼树(Huffman Tree), 还有的书翻译为霍夫曼树。 2) 赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近 2 赫夫曼树
阅读全文
posted @ 2021-03-14 21:15 linzm14
阅读(674)
评论(0)
推荐(0)
2021年3月12日
Java 树结构实际应用 一(堆排序2秒排完800w数据)
摘要: 堆排序 1 堆排序基本介绍 1) 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复 杂度均为 O(nlogn),它也是不稳定排序。 2) 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有 要求结点的
阅读全文
posted @ 2021-03-12 22:18 linzm14
阅读(487)
评论(0)
推荐(0)
2021年3月11日
Integer源码中的MIN_VALUE = 0x80000000和MAX_VALUE = 0x7fffffff的分析
摘要: 1.计算机的常识 (1)总所周知,计算机最底层存储的二进制数值是以补码形式存在的,这是了实现两个数的减法而设计的。 (2)举个小例子去理解补码,两个四位二进制之间的加减运算 0010(2) + 0001(1) = 0011(3) 0010(2) - 0001(1) = 0001(1)(现实中的运算)
阅读全文
posted @ 2021-03-11 16:01 linzm14
阅读(762)
评论(0)
推荐(0)
Java 树结构的基础部分(二)
摘要: 1 顺序存储二叉树 1.1 顺序存储二叉树的概念 基本说明 从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组, 看下面的示意图。 要求: 1) 右图的二叉树的结点,要求以数组的方式来存放 arr : [1, 2, 3, 4, 5, 6, 6] 2
阅读全文
posted @ 2021-03-11 09:58 linzm14
阅读(342)
评论(0)
推荐(0)
2021年3月8日
Java 树结构的基础部分(一)
摘要: 二叉树 1.1 为什么需要树这种数据结构 1) 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图] 画出操作示意图: 2) 链式存储方式的分析 优点:在一定程度上对
阅读全文
posted @ 2021-03-08 18:57 linzm14
阅读(260)
评论(0)
推荐(0)
2021年3月7日
设计模式(二十四)——职责链模式(SpringMVC源码分析)
摘要: 1 学校 OA 系统的采购审批项目:需求是 采购员采购教学器材 1) 如果金额 小于等于 5000, 由教学主任审批 (0<=x<=5000) 2) 如果金额 小于等于 10000, 由院长审批 (5000<x<=10000) 3) 如果金额 小于等于 30000, 由副校长审批 (10000<x<
阅读全文
posted @ 2021-03-07 21:22 linzm14
阅读(684)
评论(0)
推荐(1)
Java 哈希表(google 公司的上机题)
摘要: 1 哈希表(散列)-Google 上机题 1) 看一个实际需求,google 公司的一个上机题: 2) 有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址..),当输入该员工的 id 时,要求查 找到该员工的 所有信息. 3) 要求: 不使用数据库,尽量节省内存,速度越
阅读全文
posted @ 2021-03-07 19:11 linzm14
阅读(274)
评论(2)
推荐(0)
Java 查找算法
摘要: 1 查找算法介绍 在 java 中,我们常用的查找有四种: 1) 顺序(线性)查找 2) 二分查找/折半查找 3) 插值查找 4) 斐波那契查找 2 线性查找算法 有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提 示找
阅读全文
posted @ 2021-03-07 10:27 linzm14
阅读(884)
评论(0)
推荐(1)
2021年2月12日
设计模式(二十三)——策略模式(Arrays源码分析)
摘要: 1 编写鸭子项目,具体要求如下: 1) 有各种鸭子(比如 野鸭、北京鸭、水鸭等, 鸭子有各种行为,比如 叫、飞行等) 2) 显示鸭子的信息 2 传统方案解决鸭子问题的分析和代码实现 1) 传统的设计方案(类图) 2)代码实现 package com.lin.strategy; public abst
阅读全文
posted @ 2021-02-12 10:51 linzm14
阅读(413)
评论(0)
推荐(0)
2021年2月11日
设计模式(二十二)——状态模式(APP抽奖活动+借贷平台源码剖析)
摘要: 24.1 APP 抽奖活动问题 请编写程序完成 APP 抽奖活动 具体要求如下: 1) 假如每参加一次这个活动要扣除用户 50 积分,中奖概率是 10% 2) 奖品数量固定,抽完就不能抽奖 3) 活动有四个状态: 可以抽奖、不能抽奖、发放奖品和奖品领完 4) 活动的四个状态转换关系图(下图) 24.
阅读全文
posted @ 2021-02-11 15:05 linzm14
阅读(785)
评论(0)
推荐(0)
上一页
1
···
8
9
10
11
12
13
14
15
16
下一页
公告