- 博客(10)
- 资源 (70)
- 收藏
- 关注
转载 java实现分治算法
一、分治算法介绍分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或 相似的子问题,再把子问题分成更小的子问题…直到最后子问题可以简单的直接求解,原问题的解即子问题 的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变 换)…分治算法可以求解的一些经典问题 二分搜索 大整数乘法 棋盘覆盖...
2019-09-26 11:12:02 1230
转载 java实现图
一、图基本介绍1、为什么要有图前面我们学了线性表和树线性表局限于一个直接前驱和一个直接后继的关系树也只能有一个直接前驱也就是父节点当我们需要表示多对多的关系时,这里我们就用到了图。2、图的举例说明图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以称为顶点。如图:3、图的常用概念顶点(vertex)边(edge)路径无向图(下...
2019-09-24 16:12:00 1287
转载 多路查找树
一、二叉树与B树1、二叉树的问题分析二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿),就 存在如下问题:问题1:在构建二叉树时,需要多次进行i/o操作(海量数据存在数据库或文件中),节点海量,构建二叉树时, 速度有影响问题2:节点海量,也会造成二叉树的高度很大,会降低操作速度.2...
2019-09-22 23:12:24 165
转载 java实现平衡二叉树(AVL 树)
一、案例(说明二叉排序树可能的问题)给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST), 并分析问题所在.左边 BST 存在的问题分析:左子树全部为空,从形式上看,更像一个单链表.插入速度没有影响查询速度明显降低(因为需要依次比较),不能发挥BST的优势,因为每次还需要比较左子树,其查询速度比单链表还慢解决方案-平衡二叉树(AVL)二、基本介绍平衡二叉树...
2019-09-22 18:41:23 417 1
转载 java实现二叉排序树
一、需求给你一个数列 (7, 3, 10, 12, 5, 1, 9),要求能够高效的完成对数据的查询和添加二、解决方案分析使用数组数组未排序, 优点:直接在数组尾添加,速度快。 缺点:查找速度慢.数组排序,优点:可以使用二分查找,查找速度快。缺点:为了保证数组有序,在添加新数据时,找到插入位置后,后面的数据需整体移动,速度慢。使用链式存储-链表不管链表是否有序,查找速度都慢,添加数据...
2019-09-21 22:28:10 517
转载 java实现赫夫曼编码
一、基本介绍赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式, 属于一种程序算法赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%~90%之间赫夫曼码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,称之为最佳编码二、原理剖析通信领域中信息的处理方式 1-...
2019-09-21 16:08:21 761
转载 java实现赫夫曼树
一、基本介绍给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为 最优二叉树,也称为哈夫曼树(Huffman Tree), 还有的书翻译为霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近二、赫夫曼树几个重要概念和举例说明路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的...
2019-09-16 19:24:39 253
转载 java实现堆排序
一、堆排序基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复 杂度均为 O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有 要求结点的左孩子的值和右孩子的值的大小关系。每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆大顶堆举例说明小顶堆举...
2019-09-16 14:37:04 500
转载 线索化二叉树
一、问题将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树. n+1=7问题分析:当我们对上面的二叉树进行中序遍历时,数列为{8,3,10,1,6,14}但是6,8,10,14这几个节点的左右指针,并没有完全的利用上.如果我们希望充分的利用各个节点的左右指针,让各个节点可以指向自己的前后节点,怎么办? 4) 解决方案-线索二叉树二、线索二叉树基本介绍n 个结...
2019-09-12 14:00:12 129
转载 顺序存储二叉树
一、顺序存储二叉树的概念基本说明从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看下面的示意图。二、顺序存储二叉树的特点:顺序二叉树通常只考虑完全二叉树第n个元素的左子节点为 2 * n + 1第n个元素的右子节点为 2 * n + 2第 n 个元素的父节点为 (n-1) / 2n : 表示二叉树中的第几个元素(按 0 开始编号...
2019-09-11 16:19:09 302
各大知名企业面试题
2018-04-24
基于storm实时热点统计的分布式并行缓存预热
2018-03-19
Linux jdk1.7 64位
2017-10-31
Linux jdk1.8 32位
2017-10-31
linux jdk1.8 64位
2017-10-31
RabbitMQ-3.4.1安装文件+Spring-rabbit+RabbitMQ-3.4.1安装手册
2017-07-12
IK分词器+tomcat-7.0.47+jdk+sol+zookeepe
2017-05-12
Java程序员面试宝典
2017-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人