08 2018 档案

摘要:[TOC] 1.二分查找 二分搜索树解决的是查找问题。 1.1递归,非递归实现 1.3利用二分查找实现lower_bound(),upper_bound()函数 2.二分搜索树定义 3.二分搜索树操作 3.1插入 3.2查找 3.3遍历(深度,层次) 3.4删除最小值 1.直接删除 2.调整删除 3 阅读全文
posted @ 2018-08-07 21:19 神秘的火柴人 阅读(240) 评论(0) 推荐(0)
摘要:[TOC] 1.堆的引出 优先队列可以处理许多问题,例如系统动态地选择优先级最高的任务进行执行;在N个元素中选出前M个元素。。。而用堆来实现优先队列有着巨大的优势,如下图所示。 2.二叉堆 2.1定义 以最大堆为例。 2.2存储 用一个数组来存储二叉堆。(注:从下标为1开始存储) 3.堆操作 3.1 阅读全文
posted @ 2018-08-06 21:36 神秘的火柴人 阅读(316) 评论(0) 推荐(0)
摘要:[TOC] 1.概念 在归并排序中,一个数组被 等分 为两部分,而在快速排序中,切分位置取决于数组的内容。所以对于特殊形式的数据,可能会参数低劣的性能。。。 2.初实现 4.2方法二:三路快排() 将数组分为三类,左边区域比标定点值小,中间区域和标定点值相等,右边区域比标定点值大。 5.应用:寻找a 阅读全文
posted @ 2018-08-04 15:38 神秘的火柴人 阅读(238) 评论(0) 推荐(0)
摘要:[TOC] 1.概念 将一个数组排序,可以递归的将它们分成两半分别排序,然后将结果归并起来。体现了分治思想。算法时间复杂度:O(nlgn) 2.自顶向下的归并排序算法(递归实现) 上图所示为归并数组a[0...15]的调用轨迹图。 2.1初实现 应用:求逆序对 归并排序中的__merge()函数,是 阅读全文
posted @ 2018-08-02 18:33 神秘的火柴人 阅读(215) 评论(0) 推荐(0)