码迷,mamicode.com
首页 > 其他好文 > 详细

编程10大概念

时间:2015-03-10 13:45:31      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

1、字符串:toCharArray()//获得字符串对应的char数组
Arrays.sort()//数组排序
Arrays.toString(char[] a)//数组转换成字符串
charAt(int x)//获得某个 TreeNode索引处的字符
length()//字符串长度
length//数组大小
2、链表:每个结点都有一个val和下一个结点的next链接
class Node(){
int val;
Node next;

Node(int x){
val=x;
next=null;
}
}
链表的2个著名的应用是栈和队列

3、树:
class TreeNode{
int value;
TreeNode left;
TreeNode right;
}
4、图:BFS和DFS
5、排序 各种
6、递归和迭代
n步台阶,每次1或2步 多少种走法
f(n)=f(n-1)+f(n-2)
f4=f3+f2
=f2+f1+f2
=f1+f0+f1+f1+f0
(很多冗余计算)
转化为迭代:双指针

7、dp:1最优子结构(问题的最优解包含了更小的子问题的最优解)
2重叠子问题
3子问题的解都存放在一张表中,这样使得子问题只计算一次
解决爬楼梯的问题:
public ststic int[] A= new int [100];
public static int f3(int n){
if(n<2) A[n]=n;
if(A[n]>0) return A[n];
else
A[n]=f3(n-1)+f3(n-2);//记录下子问题的解
return A[n];
}
}
8、位操作:与或非 左移 右移 异或
9、概率:?
10、排列组合:?

编程10大概念

标签:

原文地址:http://www.cnblogs.com/gaoxiangde/p/4325610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!