- 博客(3)
- 收藏
- 关注
原创 Java算法(02) -- 最小栈的实现
最小栈的实现1、题目分析方法一【错误】方法二【正确】2、代码实现1、题目分析实现一个栈,该栈带有出栈(pop)、入栈(push)、取最小元素(getMin)3 个方法,保证这3个方法的时间复杂度都是O(1)。方法一【错误】方法流程:创建一个整型变量min,用来存储栈中的最小元素;当第1个元素进栈时, 把进栈元素赋值给min,即把栈中唯一的元素当做最小值之后每当一个新元素进栈,就让...
2020-04-08 19:46:59 360 4
原创 Java算法(01) -- 如何判断链表有环
如何判断链表有环1、题目分析方法一方法二方法三【双指针】2、代码实现1、题目分析有一个单向链表,链表中有可能出现“环”,就像下图这样。如何用程序来判断该链表是否为有环链表呢?方法一方法流程:从头节点开始,依次遍历单链表中的每一个节点;每遍历一个新节点,就从头检查新节点之前的所有节点,用新节点和此节点之前所有节点依次做比较;如果发现新节点和之前的某个节点相同,则说明该节点被遍历过两...
2020-04-07 19:56:31 767
原创 图解排序算法(06) -- 桶排序
桶排序1、初识桶排序2、桶排序代码实现时间复杂度分析3、排序总结1、初识桶排序每一个桶(bucket)代表一个区间范围,里面可以承载一个或多个元素,假设有一个非整数数列如下:4.5,0.84,3.25,2.18,0.5桶排序的工作原理:第1步,创建桶,并确定每一个桶的区间范围具体需要建立多少个桶,如何确定桶的区间范围,有很多种不同的方式。这里创建桶数量等于原始数列的元素数量,除最...
2020-04-02 20:49:36 398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人