
算法
零下10度C_zjw
关注计算机互联网发展的点点滴滴
展开
-
快慢指针及其应用
快慢指针,顾名思义就是设置两个指针,在同一个链表中不同步的游走。快指针每次走两步,慢指针每次走一步,如果链表不是循环链表,那么快指针会始终在慢指针前面,如果链表存在环路,那么当进入环中以后,由于快指针移动较快,它与慢指针总会有相遇的时刻。就如同我们在环形跑道上跑步一样,速度快的人在跑若干圈之后会再次追上速度慢的人,再次相遇。因此本节我们介绍如何利用快慢指针来判断一个链表是否存在环并返回环开始的结点。原创 2016-08-30 09:36:49 · 555 阅读 · 0 评论 -
经典动态规划问题总结
动态规划引入首先我们以一个最基本的例子来分析——菲波那切数列。我们都知道,菲波那切数列的递推公式f(n) = f(n-1)+f(n-2) (这里我就说明一般情况,不列举边界条件了),很简单,如果我们用递归的方法来求解f(n),两三行代码就出来了。那么我们深入分析一下这样有什么问题?f(2) = f(1) + f(0);f(3) = f(2) + f(1);f(4) = f(原创 2017-08-16 17:25:37 · 731 阅读 · 0 评论 -
八大经典排序算法总结
无论我们平时是自己写工程代码,还是刷各种求职宝典的题目,亦或是临场面试的时候,我们可能都逃脱不了要写排序算法,那么这里我将对平时常用的几种排序算法做一个总结,分享给大家。 (注:以下排序过程均以从小到大的顺序,代码实现均用C++)1. 选择排序 基本思想:给定一个序列,从中找到最小的一个放到序列的第一个位置,再从剩下的n-1个中找到最小的放到第二个位置……直到剩下最后一个元素就直接放在最后为原创 2016-08-24 16:39:23 · 487 阅读 · 0 评论