到家放松之后就开始学习算法了,手里拿的是拿的是一本Robert
Sedgewick的橙皮书《算法(第四版)》的。这本书与导论那本书的不同之处在于轻数学思想、重实现,也就是说这是一本很不错的基础编程书。拿来做书中的练习还是蛮不错的,封面说有50种算法哦。思维导图如下,就且学且更新吧。
1.基本编程模型
第一章开始讲述用程序实现算法的优点:程序是对算法精确、优雅和完全的描述;可以通过运行程序来学习算法的各种性质;可以在应用程序中直接使用这些算法。还有这种学习算法的缺点缺点:分离思想和实现细节的困难。
而整本书所用到的语言特性、软件库和操作系统特性称为基本编程模型(就是后面写到的java语法和API)。同时也提醒我将自己编写的每一个程序都当做一个日后可以重用的库。良好的方法库(没有错误和经得起极端条件)应有助于我们集中精力在算法核心上。在每个程序中可以用main()方法作为一个开发用例用来独立测试。API的目的是讲调用和实现分离,这也方便日后算法的改善。其他的内容无非就是数据类型、语句、数组、静态方法、字符串和标准输入输出。
这节最后简单介绍了二分查找算法,就是在一个循环中,不断将中间位的值域被查找的值进行比较,这就要保证对象数组是有序序列。如果小于中间值就再在数组的小与中间值的部分查找,如果大于中间值就只在大于中间值部分查找,这样分情况缩小查找范围。当然,等于中间值就意味着找到了。
2.数据抽象
面向对象方法的知识点。因为学习过java,没有过多地看。
3.jar的引用
我的环境是windows下得NetBeans。导入库中,不知道怎么引用。最后在官网上找到了原因,因为这个jar是的"default"包。重新下了一个stdlib-package.jar。按照新建全局库,再在项目中导入全局库就成功了。
jar的使用对于我来说还是头一次所以花多了时间。嗯,希望借用书中的标准库可以向数据可视化迈进一步咯(笑)。
[读书笔记]算法(Sedgewick著)·第一章(1),布布扣,bubuko.com