
数据结构
我是那颗银弹
这个作者很懒,什么都没留下…
展开
-
判断单链表中是否有环?如果有起点在哪里?环长度?
需求: 判断一个单链表是否有环?如果有换找出环的起点,以及环的长度。分析: 1)定义两个指针p1和p2,p1每次走1步,p2每次走两步,如果单链表有环则p1和p2一定会相遇;为什么一定有环一定会相遇?我们先定义一些变量:假设有环,环长为n,然后设 链表的起点 到 环起点 的长度为a,p1到环的起点时p2位于环的位置为x(0<=x<n)。 现在到...原创 2018-06-03 18:21:45 · 2433 阅读 · 3 评论 -
插入排序Java代码实现
1.算法思想: 类似于打斗地主,拾取一张牌,你按顺序把它插到它对应的位置上去。与选择排序一样,当前索引左边的元素都是有序的。2.Java代码实现:public static void insertSort(int[] arr) { if (arr == null || arr.length < 2) { return; } ...原创 2018-06-12 15:41:57 · 346 阅读 · 0 评论 -
二分查找(Java)
二分查找的前提是给定的序列是从大到小排列好的,例如给定一个如下数组它必须是有序的,如果无序你先给数组排序了,数组索引就会改变,查找就没有意义了。int[] arr = {11,22,35,46,64,71,84,96};二分查找的代码: public class Demo_Find { public static void main(String[] args) { ...原创 2018-05-24 21:37:36 · 3335 阅读 · 1 评论