笔筒虫
笔筒虫
全部文章
算法基础
Java多线程&并发(13)
Java常用类库(5)
Java常识(6)
Java虚拟机(6)
MySQL数据库(7)
《深入理解Java虚拟机》读书小册(8)
《深入理解Java虚拟机》读书笔记(7)
剑指offer题解(13)
未归档(65)
计算机操作系统(3)
计算机网络(6)
通过UML和小DEMO学习设计模式(10)
归档
标签
去牛客网
登录
/
注册
笔筒虫的博客
全部文章
/ 算法基础
(共5篇)
八:求两个链表的第一个公共结点
输入两个链表,找出它们的第一个公共结点。 一般的思路是找出两个链表 长度的差值,然后长的先跑完差值,最后和着短的链表一起跑,这样必然能够来到第一个公共结点 但是这里有个问题,就是不能够保证这个链表是无环的,如果有环的话,在判断链表长度差值的时候,因为一直不能得到null,所以会陷入死循环。...
2019-04-28
0
551
四:master公式
master公式的使用T(N) = a*T(N/b) + O(N^d) 1) log(b,a) > d -> 复杂度为O(N^log(b,a)) 2) log(b,a) = d -> 复杂度为O(N^d * logN) 3) log(b,a) < d ->...
2019-04-28
0
651
三:堆排序详解
X(大或小)根堆的构建: 堆的本质就是一棵完全二叉树(大根堆:树中任意一个子树的最大值都是它的头部组成的树) 一个大根堆或者小根堆,它的创建过程: 参考完全二叉树父子节点之间的关系(父节点为i,则左孩子为2*i+1,右孩子为2*i+2),就可以对数组进行构建,通过对数组元素的移动,来达成大根堆...
2019-04-28
0
612
二:常用树的概念与区别
满二叉树 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。 完全二叉树 二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点...
2019-04-28
0
536
一:七大基础排序算法
一、冒泡排序 二、选择排序 三、插入排序 四、归并排序 五、快速排序 六、希尔排序 七、堆排序
2019-04-28
0
492