06 2020 档案
摘要:作为程序员,开发完一段代码,实现了某个功能时,有必要知道: 我的程序需要多长时间? 是什么导致我的程序消耗很多内存? 比如,统计或者处理了一大批数据。影响这些问题的因素很多,例如,电脑的性能,数据的性质(值类型和引用类型的区别),使用的算法。想要为这些基础问题提供答案需要通过科学方法。 1. 什么是
阅读全文
摘要:算法的主题思想: 1.优秀的算法因为能够解决实际问题而变得更为重要; 2.高效算法的代码也可以很简单; 3.理解某个实现的性能特点是一个挑战; 4.在解决同一个问题的多种算法之间进行选择时,科学方法是一种重要的工具; 5.迭代式改进能够让算法的效率越来越高效; 1. 动态连通性 动态连接:输入是一对
阅读全文
摘要:把描述和实现算法所用到的语言特性,软件库和操作系统特性总称为基础编程模型。 编写递归代码注意的点: 1. 递归总有一个最简单的情况 —— 方法的第一条语句总是包含 return 的条件语句。 2. 递归调用总是尝试解决一个规模更小的子问题,这样递归才能收敛到最简单的情况。 3. 递归调用的父问题和尝
阅读全文
摘要:许多基础数据类型都和对象的集合有关。数据类型的值就是一组对象的集合,所有操作都是关于添加,删除或是访问集合中的对象。背包(Bag),队列(Quene)和栈(Stack) 它们的不同之处在于删除或者访问对象的顺序不同。 1. API Stack 和 Quene 都含有一个能够删除集合中特定元素的方法。
阅读全文