数据结构是为算法服务的,算法是作用在特定的数据结构之上的
指向效率是评价算法好坏的一个非常重要的指标,衡量的方法常用的是时间复杂度的空间复杂度分析。复杂的分析有事后分析法和算法执行效率估算法
-
最常见的使用是大O复杂度表示法,表示的是代码的执行时间随着数据规模的增大的变化趋势
数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图
算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
1.进制转换
-
数制转换
10进制转化其他进制 对应的方法,参数n(原10进制数据) 返回值 10进制转2进制 Integer.toBinaryString(n); 二进制字符串 10进制转8进制 Integer.toOctalString(n); 八进制字符串 10进制转16进制 Integer.toHexString(n); 十六进制字符串 10进制转r进制(r表示任意) Integet.toString(n,r); r进制字符串 -
其他进制转十进制
Integer.valurof(String s,int radix):Integer radix进制的字符串转十进制
直接将0xAA不能转化为十进制,需要去除前面的0x
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String str = sc.nextLine();
//简化写法System.out.println(Integer.valueOf(str.substring(2), 16).toString());
String ss = str.substring(2);
int kk = Integer.valueOf(ss, 16);
System.out.println(kk);
}
sc.close();
2.两数之和