常用算法
国服第l帅
仰之弥高,钻之弥坚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
全排列
//递归算法实现全排列,交换方式参考运行实例结果。public class Prems { public static void swap(int a, int b){ int temp = a; a = b; b = temp; } public static void swaps(int A[],int k,int n){ int temp = A[k]; A[k原创 2016-04-24 09:38:06 · 279 阅读 · 0 评论 -
递归运行次数简单分析
下边的递归实例并不是一个好的递归,因为包含了大量重复的操纵,不过用来进行递归次数的分析倒是可以。f(n) = f(n-1)+f(n-2);f(n-1)=f(n-2)+f(n-3)...f(3)=f(2)+f(1);f(2)=f(1)+f(0);;f(2)运行了3次,f(3)运行了5次,f(4)运行了f(3)+f(2)+1=9次... public class fn_fn_1DIGui { pu原创 2016-04-24 10:16:33 · 1048 阅读 · 0 评论 -
判断一个单链表是否有环及环的链接点
给定一个单链表,只给出头指针h: 1、如何判断是否存在环? 2、如何知道环的长度? 3、如何找出环的连接点在哪里? 4、带环链表的长度是多少? 解法: 1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。 2、对于问题2,记录下问题1的碰转载 2016-06-27 11:44:02 · 266 阅读 · 0 评论 -
输入数据数量未知的处理
网站刷题时候常碰到输入数据组数未知,应该怎么处理呢,困扰了很久,最近在学习视频时候找到了处理方式,整理如下: C: while(scanf("%d%d",&a,&b)){...} C++:while(cin>>a>>b){...} java: Scanner scanner = new Scanner(System.in); while(scanner.hasNext()){转载 2016-04-17 13:18:36 · 1623 阅读 · 2 评论 -
判断二叉树左右对称
struct Node { Node *left; Node *right; Node() { left = right = NULL; }; }; bool Jud原创 2016-06-27 18:18:10 · 709 阅读 · 0 评论 -
二叉排序数的java实现
二叉排序树:所有左子树小于根节点值,所有右子树值大于根节点,采用中序遍历可以从小到大排序。本代码包含常用的插入和两种删除操作实现原创 2016-06-15 11:37:18 · 483 阅读 · 0 评论 -
java实现图的深度优先搜索和广度优先搜索
java实现图的深度优先搜索和广度优先搜索原创 2016-06-18 12:51:57 · 2782 阅读 · 0 评论
分享