算法
lbxxzt
这个作者很懒,什么都没留下…
展开
-
算法---怎样斜线输出一个二维数组
今天给大家讲解一个二维数组输出顺序的算法:假设,我们定义了一个二维数组 {1,2,3,4,5} {3,1,4,7,6} {5,7,9,11,13} ...原创 2018-09-29 23:33:16 · 2746 阅读 · 0 评论 -
算法---求连续子系列最大值问题
假设给定一段没有任何限制的整数数列,求该数列中子序列和的的最大值. 解决该问题的方法有最直接的o(n^3)级求出所有子序列,逐个找出最大值的这种方法我们不在介绍,我们直接介绍时间复杂度为o(n)级的算法.该问题的关键思路就是我们要抓住"任意一个负数开头的子序列不可能是最大和子序列" ,理解了这句后,接下来的问题简单许多,假如我们用该思想来处理上述样例: int []arr=''...原创 2018-09-29 23:50:27 · 895 阅读 · 0 评论 -
算法---JAVA实现堆排序(大顶堆)
堆排序是一种树形选择排序方法,它的特点是:在排序的过程中,将array[0,...,n-1]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲节点和孩子结点之间的内在关系,在当前无序区中选择关键字最大(最小)的元素。1. 若array[0,...,n-1]表示一颗完全二叉树的顺序存储模式,则双亲节点指针和孩子结点指针之间的内在关系如下: 任意一节点指针 i:父节点:i==0 ? n...原创 2018-11-10 22:01:01 · 477 阅读 · 0 评论 -
算法---hash算法原理(java中HashMap底层实现原理和源码解析)
散列表(Hash table,也叫哈希表),是依据关键码值(Key value)而直接进行訪问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来訪问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 比如我们要存储八十八个数据,我们为他申请了100个元素的地址空间,80/100=0.88,这个数字叫做负载因子.我们之所以这样做是为了通过牺牲空间来换取时间,达到...原创 2018-11-20 23:51:04 · 966 阅读 · 0 评论