会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
bywallance
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
2016年5月27日
链表中环的判断及相关操作
摘要: 1、链表中是否有环 如果链表中存在环的话,则遍历链表时无法通过观察指针是否为null来判断链表是否结束。 判断链表中是否存在环,需要引入快慢指针(slow 和 fast),slow每次走一步,fast每次走两步, 如果slow和fast会相遇,则说明链表中存在环,否则不存在。 2、链表中环的入口结点
阅读全文
posted @ 2016-05-27 15:39 沧浪少年
阅读(168)
评论(0)
推荐(0)
编辑
2016年5月26日
链表操作,空间复杂度要求为O(1)
摘要: 对于O(1)的空间复杂度要求,不能对链表进行复制等操作,双指针法对处理该类问题比较有效。 同时由于链表头结点的特殊性,可以考虑引入一个空的头结点来辅助操作。
阅读全文
posted @ 2016-05-26 17:39 沧浪少年
阅读(1187)
评论(0)
推荐(0)
编辑
单链表的回文判断(O(n)时间复杂度和O(1)的空间复杂度)
摘要: 对于单链表来说,判断回文最简单的方法就是遍历链表,将链表中的元素复制到数组中,然后对数组进行判断是否是回文数组,但是这不符合O(1)的空间复杂度。 由于空间复杂度的要求,需要就地操作链表,不能开辟多余的空间来进行处理,因此引入快慢指针来进行操作。 快慢指针: slow 和 fast,每次slow指针
阅读全文
posted @ 2016-05-26 11:02 沧浪少年
阅读(2784)
评论(0)
推荐(0)
编辑
2016年3月8日
Floyd算法小结
摘要: Floyd算法是一种用于寻找给定的加权图中多源点之间最短路径的算法,算法流程如下所示: 1:从任意一条单边路径开始。所有两点之间的距离是边的权,如果两点之间没有边相连,则权为无穷大。 2:对于每一对顶点 u 和 v,看看是否存在一个顶点 w 使得从 u 到 w 再到 v 比已知的路径更短。如果是更新
阅读全文
posted @ 2016-03-08 11:08 沧浪少年
阅读(350)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
公告