常用算法
国服第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 · 256 阅读 · 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 · 916 阅读 · 0 评论 -
判断一个单链表是否有环及环的链接点
给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的碰转载 2016-06-27 11:44:02 · 233 阅读 · 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 · 1573 阅读 · 2 评论 -
判断二叉树左右对称
struct Node { Node *left; Node *right; Node() { left = right = NULL; }; }; bool Jud原创 2016-06-27 18:18:10 · 655 阅读 · 0 评论 -
二叉排序数的java实现
二叉排序树:所有左子树小于根节点值,所有右子树值大于根节点,采用中序遍历可以从小到大排序。本代码包含常用的插入和两种删除操作实现原创 2016-06-15 11:37:18 · 433 阅读 · 0 评论 -
java实现图的深度优先搜索和广度优先搜索
java实现图的深度优先搜索和广度优先搜索原创 2016-06-18 12:51:57 · 2725 阅读 · 0 评论