数据结构与算法分析 java 版学习笔记 第一章

从事java开发一年了,但感觉所做工作过于低端,没什么激情、成就感之类的,更没有money,觉得自己在朝着码农的小黑路越走越深。所以准备勉强自己学习一下一些自认为高端的东东,即使对于代码这一行不是很感兴趣,也应该有一个积极的人生观啥的。

数据结构与算法分析 java版这本书应该是一本比较经典的书 。

第一章的主要内容如下

1.内容不超过高中数学的一些基本公式,指数对数,相关变形,证明。归纳法。

2.递归的四项基本原则(可以理解为编写递归函数时需要注意的边界值)

3.泛型的一些知识(熟知java的可以小看或不看 因为我觉得这段写的有点啰嗦)

关于练习题

这里着重说一下1.5 这道题 

本人编写的程序如下



public class CalcNum1OfNRe {

/**
* @author SunDai
* @param args
*/
public static void main(String[] args) {
int N = 122;
System.out.println("N is "+Integer.toBinaryString(N));
System.out.println("N 的 二进制 中 1 的个数是 : "+ f(N));


}

private static int f(int n){
if(n == 1){
return 1;
}else{
if(n%2 == 0){
return f(n/2);
}else{
return f(n/2)+1;
}
}
}


}

习题答案如下:

数据结构与算法分析 java 版学习笔记 第一章_第1张图片

看出差距了没?

首先,本人的递归函数没有对n小于1时做相应处理,违反了程序的严谨,其次在处理递归时,if -else 用的too young too simple,一点也不简洁。反省完毕


你可能感兴趣的:(java,数据结构与算法,学习笔记)