它的思想是将一个无序的数组先用递归进行二分,当分解为无限小时,即为单个整数时,再对其进行排列。得出有序的数组 代码如下: package com.jll.sort; public class MergeSort { public MergeSort() { } public void merge(i...
分类:
其他好文 时间:
2014-07-06 21:01:33
阅读次数:
161
判断一颗树是不是二分查找树,非常经典基础的一个算法。我很久之前第一次做的时候,是先求出来了树的前序遍历的结果,然后判断这个数组排序后是否和排序前相同,还要判断重复虾米的,很纠结的一种做法。后来思考了一下怎么用递归的思路做,觉得应该根据定义返回两个子树的最大值和最小值,写了一会代码,发现好麻烦,不太对...
分类:
其他好文 时间:
2014-07-06 13:14:30
阅读次数:
178
templateint binarySearch(const vector &a, const comparable &x){ int low = 0, high = a.size() - 1; while(low a[center]) low = center ...
分类:
其他好文 时间:
2014-07-06 13:10:01
阅读次数:
188
把一个排好序的vector转换为一颗二分查找树。很简单的题目,递归即可,保证边界不要出错。 1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; ...
分类:
其他好文 时间:
2014-07-06 12:53:50
阅读次数:
174
题目:给你n个数让你在里面找到会不相同的4个数a,b,c,d,使得 d = a + b + c。
分析:数学题,散列表。这是一个优化问题。
方法1:暴力法;
先排序,然后直接利用四层循环求解,找到解后直接跳出,也可以以利用二分代替最后一层循环;
这种方法,如果遇到特殊的数据就会TLE;
方法2...
分类:
其他好文 时间:
2014-07-06 12:02:05
阅读次数:
141
WHAT?调试——发现错误的一种手段WHY?相对于不善于调试的程序员,善于调试的程序员只需要前者1/20的时间就可以找出问题所在HOW?科学的调试方法把错误的发生稳定下来:假设-证实/证伪确定错误原因:二分法同他人讨论问题忏悔式调试抛开问题,休息一下修正问题动手之前先要理解问题理解程序本身,而不仅仅...
分类:
其他好文 时间:
2014-07-05 20:01:10
阅读次数:
184
顺序查找和二分查找
一、顺序查找思想
1、 从表的一端开始扫描,顺序扫描线性表,依次扫描到的结点关键字与给定的值K相比较.如果当前扫描到的结点的关键字与给定的值K相等,则查找成功;若扫描结束后,仍未找到关键字与给定的值K相等,则查找失败;
2、顺序查找既适用于顺序存储结构,也适用于线性表的链式存储结构;
3、ASL= (n+1)/2为其平均查找长度...
分类:
其他好文 时间:
2014-07-04 08:49:02
阅读次数:
230
在前面的博文中,我们已经介绍了数据结构之二分查找树的相关知识,二分查找的提出主要是为了提高数据的查找效率。同一个元素集合可以对应不同的二分查找树BST,二分查找树的形态依赖于元素的插入顺序。同时我们也已经知道,如果将一个有序的数据集依次插入到二查找树中,此时二分查找树将退化为线性表,此时查找的时间复杂度为o(n)。为了防止这一问题的出现,便有了平衡二叉树AVL的存在价值。平衡二叉树从根本上将是为了防止出现斜二叉树的出现,从而进一步提高元素的查找效率,保证元素查找的时间复杂度为o(logn),显然,平衡二叉树...
分类:
其他好文 时间:
2014-07-04 08:04:40
阅读次数:
1711
【BZOJ2709】水的二分加验证。但是好像被读入萎到了。。。
【BZOJ3229】强大的算法见此。被机房的一堆大神“推荐”,于是被坑了。。。写了一个下午。。。
【BZOJ3631】这道题给我的启示是:要多想想算法。开始一直在打树链剖分,打到一半忽然在众神犇的提(bi)示(shi)下,发现有O(N)的方法。试想:如果要支持区间修改(加减),最后再查询,可以用什么方法?固然,线段树和树状数组等等...
分类:
其他好文 时间:
2014-07-04 00:28:36
阅读次数:
333
题目大意:
求出在m个串中出现过大于m/2次的子串。
思路分析:
如果你只是直接跑一次后缀数组,然后二分答案扫描的话。
那么就试一下下面这个数据。
2
abcdabcdefgh
efgh
这个数据应该输出
efgh
问题就在于对于每一个串,都只能参与一次计数,所以在check的时候加一个标记数组是正解。
#include
#include
#inc...
分类:
其他好文 时间:
2014-07-03 15:35:12
阅读次数:
171