所谓算法,就是隐匿在数据结构后背后的原理,在开发中好的算法可以降低时间复杂度提升可复用性。《算法之美——隐匿在数据结构背后的原理(C++版)》一书围绕算法与数据结构这个话题,用汉诺塔问题和八皇后问题等22个经典算法问题循序渐进、深入浅出地介绍了现代计算机技术中常用的45个经典算法。读后让人醍醐灌顶,茅塞顿开,并感觉相见恨晚。
这本书的第六章《递归——老和尚讲故事》写的很好,首先介绍了递归的概念,然后用汉诺塔问题,传染病问题和八皇后问题分别阐述并实践了递归的两种思想——分治和回溯。
我是一个不会用NDK的Android工程师,C++的水平见笑大方,但是算法的思想是想通的,我读了左老师对递归的见解后感觉醍醐灌顶,当头棒喝,马上写了一个遍历整个界面并取消所有RadioButton点击事件的方法:
private void banClickable(ViewGroup radioGroup){
for (int i = 0;i<radioGroup.getChildCount();i++){
View v = radioGroup.getChildAt(i);
if ( v instanceof RadioButton){
v.setEnabled(false);
}
if ( v instanceof ViewGroup){
banClickable((ViewGroup) v);
}
}
}
在这个一共15个RadioButton的界面里分别去掉每一个的点击事件只需要一分钟,写这个方法需要十分钟。但是如果RadioButton足够多,《算法之美——隐匿在数据结构背后的原理(C++版)》教我的递归算法之于笨方法的效率不亚于雕版印刷术之于手抄的效率,而且能大大减少代码量,增加可维护性。
我还有一本算法书《编程之美》,这两本书都有大量算法案例。不同点在于《编程之美》侧重于C的特性和在白板上手写伪代码(面试算法),而《算法之美》则详细收录了大量可以被改写成Java的C++例题来提升读者实际工作中的编程能力。
相关推荐
算法之美——隐匿在数据结构背后的原理(C++版)试读样章
数据结构、算法与应用——C++语言描述.rar
数据结构与算法——C++版(第3版)源文件
Mark Allen Weiss《数据结构与算法——C++语言描述》原书第三版,中文
数据结构与算法——C++版(第2版)
数据结构与算法C++版第二版书中源代码 其中包括线性表、链表、双链表、堆、栈等的实现。
《C++语言描述——数据结构算法与应用》高清版
《C++语言描述——数据结构算法与应用》高清版 经典的数据结构教材,第二版尚未在国内出版,与第一版区别主要是部分代码更新,但数据结构作为经典内容主干还是不变的 分栏的pdf,非影印扫描版,方便学习
数据结构算法与应用——C++语言描述英文原版,一个印度人写的书,看到有人以10分的高分共享,在此降低分值,希望大家能够比较容易的获得有价值的参考资料。
数据结构与算法分析——C++语言描述第三版源码 数据结构算法C++版本
数据结构与算法——C++版
这是《数据结构与算法分析---C++描述 第3版》Mark Allen Weiss 著,的课后习题答案。pdf格式。
五大常见算法策略之——回溯策略,算法数据结构 五大常用算法
数据结构与算法课设——医院候诊管理系统.docx数据结构与算法课设——医院候诊管理系统.docx数据结构与算法课设——医院候诊管理系统.docx数据结构与算法课设——医院候诊管理系统.docx数据结构与算法课设——医院...
数据结构算法与应用——C++语言描述,Sahni著,第二版,英文版,网上也找不到的资料。 第一部分。1/2 是扫描版,这是能找到的唯一的原版英文版本!
隆重推荐!最适合在职者的数据结构和算法教材,《数据结构算法与应用——C++和Java语言描述》全集
数据结构算法——Visual C++ 6.0.
数据结构、算法与应用——C++ 语言描述