自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weiersyuan的专栏

做人如果没有梦想跟咸鱼有什么区别

  • 博客(15)
  • 资源 (8)
  • 收藏
  • 关注

原创 排序算法学习总结

排序算法学习总结排序算法在经典算法里面是非常重要的,于是花了点时间将之前学习的常见的排序算法进行总结。对于每种排序算法,需要理解以下问题:1.算法思想是什么2.时间复杂度3.稳定性4.什么情况下适用?基于比较的排序,已证明,基于比较的排序算法时间复杂度不会低于O(nlgn)最好的情况能达到这个下限,包括:插入排序/希尔排序/选择排序/堆排序/冒泡排序/归

2015-11-20 16:09:44 2020 5

原创 【算法】桶排序

桶排序桶排序(Bucket Sort)假设输入数据服从均匀分布,然后将输入数据均匀地分配到有限数量的桶中,然后对每个桶再分别排序,对每个桶再使用其他的排序算法,最后将每个桶中的数据有序的组合起来。前面了解到基数排序假设输入数据属于一个小区间内的整数,而桶排序则是假设输入是由一个随机过程生成,该过程将元素均匀的分布在一个区间[a,b]上。由于桶排序和计数排序一样均对输入的数据进行了某些假设限制,

2015-11-19 13:18:59 11228 1

原创 【算法】希尔排序

希尔排序希尔排序(Shell Sort)是插入排序的一种更高效的改进版本。他是通过比较相距一定间隔的元素来工作,各趟比较所用距离随着算法的进行而减小,直至只比较相邻元素的最后一趟排序,因此也称递减增量排序算法。直接插入排序在当序列恰好为顺序时,时间消耗为O(n),因此若某个序列已基本有序,直接插入排序的效率就会提高。希尔排序使用一个序列h1,h2...ht的增量序列,只要h1=1,任何

2015-11-19 13:18:38 1494

原创 【数据结构】平衡二叉树之AVL树

平衡二叉排序树平衡二叉排序树(Balanced Binary Sort Tree),上一篇博客【数据结构】二叉排序树BST讲了BST,并且在最后我们说BST上的操作不会超过O(h),既然树高这么重要,那么BBST的研究就是为了使得树的深度在可接受的范围内渐近意义下达到O(lgn)n个节点组成的二叉树,其高度为lgn取下限时,这棵树是理想平衡的,满足这样条件的树只有完全二叉树和满二叉树,这样

2015-11-16 19:57:12 3506

原创 【数据结构】二叉排序树BST

二叉排序树二叉排序树(Binary Sort Tree)也叫二叉搜索树(Binary Search Tree)二叉排序树本质上还是一个二叉树,只不过在其上定义了一些规则:一个结点的左子树中所有的结点不大于该结点的值,而其右子树中的所有结点不小于该结点的值。由此规则可得BST中序遍历是有序的。BST中定义的操作有:minNode:某个子树中的关键字最小的结点maxNode:某个子

2015-11-14 11:20:21 2707

原创 【数据结构】二叉树

前言数据结构还是大二的时候学过的,当然由于是非计算机专业的学生,所以学的也不怎么样,去年用c++实现了最基本的数据结构,链表/栈/队列/二叉树,三月份看的时候还贴到了博客上。然而当时由于代码量不够,其实写的并不是很好,理解也太不到位。最近在看算法导论,当然最基本的就是数据结构,于是打算将基本的知识在回顾一下。我是一个疯狂的人,一旦决定做一件事,就会全天埋头去干,因为总有一种恨不得赶快学

2015-11-13 19:01:51 3148 5

原创 【算法】堆排序

堆排序上一篇博客讲了堆这种数据结构,它提供了一种接口getMax接口,好消息是获得最大值的时间复杂度仅仅为O(1),删除最大值delMax也仅仅需要O(lgn)的时间(删除后需要调整至满足堆的性质需要O(lgn)),因此联想到之前的选择排序算法,每次从剩下的未排序元素中找到极值元素,将其放入对应的位置。由于一般的选择排序在寻找最大值时需要遍历数组,遍历数组的复杂度为O(n),因此造成了时间

2015-11-12 12:45:35 215

原创 【数据结构】堆

堆这种数据结构。一般堆用来实现优先级队列。优先级队列:和通常的栈和队列一样,只不过里面的每个元素都有一个“优先级”,在处理的时候,首先处理优先级最高的。通常包含三个操作getMax/delMax/insert栈和队列算是优先级队列的特例。使用其他数据结构均不能同时在O(lgn)的复杂度下完成。至少有一种操作要耗时O(n).比如链表的插入操作O(1),但是获取最大值必须遍历链表O(N)。

2015-11-12 10:27:37 2192

原创 【算法】基数排序

计数排序学习基数排序之前首先学习计数排序。计数排序假设每个元素都是在0到k之间的一个整数。基数排序的基本思想,对于每个元素x,如果我们知道了小于x的元素的个数,就可以确定输出数组中元素x的位置,那么直接将元素x放到输出数组中。比如有3小于x的元素,那在输出数组中,x肯定位于第4个位置。计数排序的算法用伪代码描述为:COUNTING-SORT(A,k) // 初始化数组C

2015-11-11 15:01:47 4294

原创 【算法】快速排序/数组第K小的元素

快速排序和归并排序一样,也是采用分治(Divide and Conquer)思想。分为三步:分解:将数组A[p...q]划分成两个数组A[p..r-1]和A[r+1..q],使得A[p..r-1]中的每个元素都小于等于A[r],并且A[r+1..q]中所有元素大于等于A[r],A[r]称为主元。解决:递归调用快速排序,对两个子数组进行排序合并:不需要合并操作,子数组采用原址排序,已

2015-11-10 23:04:18 4935

原创 【算法】归并排序

归并排序采用分治(Divide and Conquer)思想。主要思想:将数组分成两部分,如果这两部分均有序,那么便可在O(n)的时间内合并成一个完整的有序数组。以此类推将区间划分下去,直到每个区间只有一个元素,即可认为已经有序,然后两两合并。T(n)=T(n/2)+O(n)  其中O(n)是合并两个有序数组产生的。求解递归式可得归并排序的时间复杂度为T(n)=

2015-11-10 21:10:47 1615

原创 【算法】插入排序/冒泡排序/选择排序

插入排序插入排序的思想为:从数组的第二个元素开始遍历整个数组。针对每个元素,依次将其前面的所有元素和他进行比较,大于它的元素均向后移动,最后将该元素插入。插入排序是一种稳定的排序算法。时间复杂度T(n)=O(n^2)最好情况下已排好序,T(n)=O(n)private void swap(int[] a, int i, int j) { int temp = a[j];

2015-11-10 20:33:52 2482 1

原创 Is Java “pass-by-reference” or “pass-by-value”?

可能由于我的表达能力有限,可以参考stackoverflow上main的讨论。或者查看博客原文,看最后面附带的stackoverflow上面的问题。Is Java “pass-by-reference” or “pass-by-value”? Java is always pass-by-value. Unfortunately, they decided to call pointers re...

2015-11-02 22:13:05 398

原创 你真的理解Java的按引用传递吗?

首先我们来看下面这段代码:public class Test1 { String a = "123"; public static void change(Test1 test) { test.a="abc"; } public static void main(String[] args) { Test1 test1=new

2015-11-02 10:42:31 16995 14

原创 读Socket流时产生阻塞的解决方案

在用socket写一个服务器时遇到了问题于是将主要的问题抽了出来,代码如下,由于代码很简单于是也没有注释。public class Main { private static ServerSocket serverSocket; private final static ExecutorService exec = Executors.newFixedThreadPool(30);

2015-11-01 08:50:52 21409 12

动态加载activity

参考博客 http://blog.csdn.net/cauchyweierstrass/article/details/51087198

2016-04-07

Android动态加载资源示例代码

对应博客http://blog.csdn.net/cauchyweierstrass/article/details/51067729的代码

2016-04-05

sweet-alert-dialog的eclipse版本

对应博客http://blog.csdn.net/cauchyweierstrass/article/details/46335143的库工程eclipse版本

2015-06-02

测试动平移和旋转动画的参数Demo

对应博客的测试代码,测试动平移和旋转动画的参数Demo

2014-12-01

Android加载各种类型布局的宽高参数

测试加载各种类型布局的宽高参数的Demo和ListView添加头视图为相对布局的Demo。

2014-11-28

android apk 反编译工具包- AntiDroid

可以方便的反编译,包含apktool(资源文件获取)dex2jar(源码文件获取)jd-gui (源码查看)并且是图形化界面的,方便使用。

2014-11-14

文件改名的批处理工具,可以对很多的文件进行统一改名

文件改名的批处理工具,可以对很多的文件进行统一改名

2014-11-13

ut屏蔽校外v4

提供限制IPV4流量的方法,这个可以完全屏蔽UT走IPv4的流量。

2012-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除