基础算法+模板
薄层
努力就有收获~
展开
-
快速排序--自行实现+qsort+sort
快排呢,就是每次以第一个数为基准,把后面所有数归位,归位即将比它小的放在它的左边,比它大的放在它的右边。 通过递归,再将它左边的数列进行如此排序,右边也如此,之后的之后的子数列也不断如此。 #include #include using namespace std; void qsort(int jk[], int left, int right){ if(left >= rig原创 2017-03-06 17:35:45 · 404 阅读 · 0 评论 -
归并排序--二路归并
归并排序时的时间复杂度为O(nlgn)其主要思想是分治法(divide and conquer),分就是要将n个元素的序列划分为两个序列,再将两个序列划分为4个序列, 直到每个序列只有一个元素,最后,再将两个有序序列归并成一个有序的序列再得到两个有序序列,再合成一个有序序列。。 #include #include using namespace std; void mergeS原创 2017-03-06 18:01:26 · 635 阅读 · 0 评论 -
并查集
并查集主要用来判断图是否连通,将所有连通的点选择一个点做老大,然后之后判断两点是否是同一个老大便可判断出是否连通。 #include #include using namespace std; int f[105]; int getF(int x){ if(x == f[x]) return x; else { f[x] = getF(f[x]); return f[x]; }原创 2017-03-07 12:15:12 · 234 阅读 · 0 评论 -
奇偶剪枝-优化(ZOJ 2110 , HDU 1010)
奇偶剪枝经典的实例, ZOJ 2110 , HDU 1010 从1走向1的时候与0走向0的情况是一样的。 s — — — — — + | + |转载 2016-11-01 23:17:02 · 317 阅读 · 0 评论 -
C/C++和JAVA 实现大数相加
HDU 1753 大明A+B 大数相加 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1753 题目大意: 两个不超过400位的带小数的整数,求出透明的和,要求最简形式,即小数后面的后缀0不能输出。 首先是自己写的C++版AC代码,有些长,挺考验细节的#include #include #include using names原创 2016-12-02 00:32:11 · 556 阅读 · 0 评论 -
C++ 大数模板 持续更新中...
第一次更新博客(2017/5/3)... 目前只有正整数的加减法和乘法。 使用STL里的string来存大数字符,真的是无比好用... 加法... 减法... 乘法... 然后完整代码... #include #include #include using namespace std; string sum(string ans, string b);原创 2017-05-03 22:29:02 · 435 阅读 · 0 评论 -
linux内核数据结构之avl树.
写在前面的话: linux 内核中数据结构的存储已经不在用avl树,我在对应的代码中也没有找到实现,应该是内核中全部用rbtree替换了.zebos中avl树的实现相对较复杂,考虑了临时缓冲等多种因素,不适合作为初学者理解avl树的入门代码,因此,在网络上找到两篇姐姐avl树的文章,讲的很透彻了,以此作入门.理解其它avl树的代码应该很容易了. 正文理解:转载 2018-03-10 12:07:03 · 503 阅读 · 0 评论