随笔分类 -  Algorithm

摘要:最近在刷leetcode上关于链表的一些高频题,在写代码的过程中总结了链表的一些解题技巧和常见题型。 结点的删除 指定链表中的某个结点,将其从链表中删除。 <! more 由于在链表中删除某个结点需要找到该结点的前一个位置,然后将前一个结点的next指针直接绕过该结点即可删除。但找到该结点的前一个位 阅读全文
posted @ 2018-10-07 11:00 xinyuexy 阅读(1028) 评论(0) 推荐(1)
摘要:最近正在学习UC Berkeley的CS61B这门课,主要是采用Java语言去实现一些数据结构以及运用数据结构去做一些project。这门课不仅告诉你这个东西怎么做,而且一步一步探寻为什么要这样做以及为什么会有这些功能。我们有时在接触某段代码或功能的实现时,可能直接就看到了它最终的面貌,而不知道如何 阅读全文
posted @ 2018-10-07 10:42 xinyuexy 阅读(5065) 评论(0) 推荐(0)
摘要:最近在跟coursera上斯坦福大学的算法专项课,其中开篇提到了两个整数相乘的问题,其中最简单的方法就是模拟我们小学的整数乘法,可想而知这不是比较好的算法,这门课可以说非常棒,带领我们不断探索更优的算法,然后介绍可以通过使用分而治之的思想来解决这个问题。下面对该问题的方法以及实现进行介绍。 问题定义 阅读全文
posted @ 2018-10-05 10:59 xinyuexy 阅读(1660) 评论(0) 推荐(0)
摘要:coursera上斯坦福的算法专项在讲到快速排序时,称其为最优雅的算法之一。快速排序确实是一种比较有效的排序算法,很多类库中也都采用了这种排序算法,其最坏时间复杂度为$O(n^2)$,平均时间复杂度为$O(nlogn)$,且其不需要额外的存储空间。 基本步骤 快速排序主要使用了分治的思想,通过选取一 阅读全文
posted @ 2018-10-05 10:54 xinyuexy 阅读(3212) 评论(0) 推荐(0)