摘要: 基线条件(base case)和递归条件(recursive case) 递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。 分而治之(divide and conquer,D&C) 问题:假设你是农场主,有一小块土地。大小为640m × 1680m。你要将这块地 阅读全文
posted @ 2019-03-05 21:12 WMXNLFD 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 数组和链表 使用数组意味着在内存中都是相连的(紧靠在一起的)。在数组中添加新元素也可能很麻烦。不过当需要随机读取元素时,数组的效率很高。 而链表中的元素可存储在内存的任何地方。链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。因而链表的优势在插入元素方面。 选择排序 问题: 阅读全文
posted @ 2019-03-05 20:00 WMXNLFD 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 二分查找 二分查找是一种算法,其输入是一个有序的元素列表。如果要查找的元素包含在列表中,二分查找返回其位置;否则返回 null 。 一般而言,对于包含n个元素的列表,用二分查找最多需要log2 n步,而简单查找最多需要n步。 仅当列表是有序的时候,二分查找才管用。 二分查找Python代码: 运行时 阅读全文
posted @ 2019-03-05 19:17 WMXNLFD 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 为什么要写博客 触动 在博客园看了很多前辈的文章,很激动,在他们的博客里,他们记录了他们曾经走过的路,是如何考研,做项目,学习算法,如何读书,如何思考,如何去准备面试,如何进入谷歌,facebook,微软这样的公司实习或工作。记录了他们对待ACM的看法,有初中就开始的做的,也有大三才开始的,但他们对 阅读全文
posted @ 2019-03-02 16:58 WMXNLFD 阅读(222) 评论(0) 推荐(1) 编辑