
数据结构、算法
文章平均质量分 70
开着奥迪卖小猪
走在成为大牛的路上!
展开
-
检测一个链表是否有环
定义两个指针fast、slow,其中,fast是快指针,slow是慢指针,二者的初始值都指向链表头, slow每次前进一步,fast每次前进两步,两个指针同时向前移动,快指针每移动一次都要跟慢指针比较,直到快指针等于慢指针为止,就证明了这个链表是带环的单向链表。 否则,这个是不带环的链表(fast先行到达尾部为NULL,则为无环链表)。 代码: public boolean IsL原创 2017-06-30 15:02:44 · 377 阅读 · 0 评论 -
排序——冒泡排序
【冒泡排序】冒泡排序就是整个过程就像气泡一样往上升,单向冒泡排序的基本思想是(假设由小到大排序): 对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和换位后,n个记录的最大记录将位于第n位; 然后对前n-1个记录进行第二轮比较; 重复该过程直到进行比较的记录只剩下一个为止。 冒泡排序(Bubble Sort原创 2017-06-30 15:01:32 · 304 阅读 · 0 评论 -
排序——插入排序
插入排序原创 2017-06-30 15:00:49 · 292 阅读 · 0 评论 -
最短路径算法——Dijkstra算法
在路由选择算法中都要用到求最短路径算法。最出名的求最短路径算法有两个,即Bellman-Ford算法和Dijkstra算法。这两种算法的思路不同,但得出的结果是相同的。 下面只介绍Dijkstra算法,它的已知条件是整个网络拓扑和各链路的长度。 应注意到,若将已知的各链路长度改为链路时延或费用,这就相当于求任意两结点之间具有最小时延或最小费用的路径。因此,求最短路径的算法具有普遍的转载 2017-06-30 15:00:21 · 7079 阅读 · 0 评论