摘要: 一、二分搜索模板 简单模板代码: 说明: (1) (start+end)/2 在start+end的值较大的时候有可能会超出范围, 因此这里使用start+(end-start)/2 (2) 为什么使用start+1<end? 为了防止死循环: 循环终止条件为:start+1>=end, 即相邻或者 阅读全文
posted @ 2017-02-06 20:44 carl_ysz 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 一、二叉树深度优先遍历 只介绍先序遍历: (1) 第一种方法是使用stack的结构 (2) 主要要理解后面的分治法 二、分治法 三个例子: 归并排序 快速排序 大多数的二叉树问题 归并排序和快速排队都是典型的分治法。 归并排序:强调先局部有序,再归并为整体有序. 最差时间复杂度和平均复杂度都是log 阅读全文
posted @ 2017-02-06 20:43 carl_ysz 阅读(313) 评论(0) 推荐(0) 编辑