自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱广健的博客

有约束方有自由,有初心方有始终!

原创 VMWare下centOS连接无线局域网的解决办法

昨天在配置虚拟机下centOS的网络时,由于我的主机是连接wifi的,而晚上很多教程只说了当主机固定IP时如何配置虚拟机的网络,而我在网上看到很多连接wifi的解决办法并一一尝试后发现都没有用,于是我自己捣鼓出了另一种方法,在此记录之。 1.  配置虚拟机为桥接 2. centOS下输入set...

2016-08-08 10:03:05

阅读数 2512

评论数 1

原创 斐波那契堆

本文将要介绍的斐波那契堆是一种保有最小堆性质的“森林集合”。和二叉堆一样,他可以用来实现优先队列,而且比二叉堆在某些操作上有更优的时间复杂度。比如插入操作,二叉堆插入一个结点需要从底向上调整堆结构,因此需要O(lgn)的时间,而斐波那契堆则只需要O(1)的时间。下面将会解析斐波那契堆的各个基本操作...

2016-06-08 16:24:36

阅读数 1134

评论数 0

原创 最大流之Ford-Fulkerson方法详解及实现

最大流问题常常出现在物流配送中,可以规约为以下的图问题。最大流问题中,图中两个顶点之间不能同时存在一对相反方向的边。 边上的数字为该条边的容量,即在该条边上流过的量的上限值。最大流问题就是在满足容量限制条件下,使从起点s到终点t的流量达到最大。在介绍解决最大流问题的Ford-Fulker...

2016-06-03 19:33:40

阅读数 21803

评论数 4

原创 结点对最短路径之Floyd算法原理详解及实现

上两篇博客介绍了计算单源最短路径的Bellman-Ford算法和Dijkstra算法。Bellman-Ford算法适用于任何有向图,即使图中包含负环路,它还能报告此问题。Dijkstra算法运行速度比Bellman-Ford算法要快,但是其要求图中不能包含负权重的边。 单源最短路径之Bellma...

2016-06-02 14:08:57

阅读数 13428

评论数 0

原创 单源最短路径之Dijkstra算法

上一篇博客介绍了适用于任何有向图(即使存在负环路)的Bellman-Ford算法,对图G=(V,E)来说,该算法的时间复杂度为O(VE)。本文介绍时间复杂度为O(v^2)的Dijkstra算法,但只适用于没有负权重边的有向图。 基本上所有计算图的最短路径的算法都基于一个性质:一条最短路径的子路径肯...

2016-06-01 21:54:57

阅读数 7366

评论数 0

原创 单源最短路径之Bellman-Ford算法

今天介绍一种计算单源最短路径的算法Bellman-Ford算法,对于图G=(V,E)来说,该算法的时间复杂度为O(VE),其中V是顶点数,E是边数。Bellman-Ford算法适用于任何有向图,并能报告图中存在负环路(边的权重之和为负数的环路,这使得图中所有经过该环路的路径的长度都可以通过反复行走...

2016-06-01 13:19:03

阅读数 3001

评论数 0

原创 图的最小生成树之Prim算法

图的最小生成树是指一颗连接图中所有顶点,具有权重最小的树,树的权重为所有树边的权重之和。最小生成树可以应用在电路规划中,规划出既能连接各个节点又能使材料最为节省的布局。计算最小生成树有两个经典算法,分别是Kruscal算法和Prim算法。本文将会介绍Prim算法的原理以及实现。 Prim算法基于...

2016-05-31 18:48:14

阅读数 7503

评论数 1

原创 图的深度优先搜索及拓扑排序

本文将介绍图的深度优先搜索,并实现基于深度优先搜索的拓扑排序(拓扑排序适用于有向无环图,下面详细介绍)。 1. 图的深度优先遍历要解决的问题 图的深度优先搜索与树的深度优先搜索类似,但是对图进行深度优先搜索要解决一个问题,那就是顶点的重复访问,假设图中存在一个环路A-B-C-A,那么对顶点A进行...

2016-05-30 23:13:42

阅读数 10894

评论数 2

原创 图的广度优先遍历

图的广度优先遍历与树的宽度优先遍历类似,实现方法也类似。但是相对树,图存在一种特殊情况——环路,环路使得一个已经遍历过的结点,会在其后代结点的子结点中再次被遍历,从而产生多余的读取操作。为了解决这个问题,我们需要为结点设置一个状态以标记其是否已被遍历过。 下面是图和结点及相关定义。 typed...

2016-05-29 00:30:08

阅读数 700

评论数 0

原创 B树操作详解

B树是一颗多路的平衡搜索树,其规定树根至少有两个孩子,每个内部节点有两个或以上的孩子。用来衡量B树规模的一个指标是“最小度数”t,其表示B树所有内部节点的孩子数为t~2t个。 B树的一个结点有两个存储域,分别是关键字和孩子结点,关键字用于划分孩子节点,一个关键字的左右两侧各有一个孩子。类似于二叉搜...

2016-05-27 23:33:30

阅读数 6148

评论数 1

原创 红黑树的插入与删除

红黑树(Red Black Tree) 是一种自平衡二叉查找树。红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。红黑树可以在O(log n)时间内完成查找,插入和删除操作。 二叉搜索树可以看 二叉搜索树 AVL树可以看 AVL树的插入与...

2016-05-26 15:09:52

阅读数 5908

评论数 1

原创 二叉搜索树

二叉搜索树是一种有序二叉树,通过对其中序遍历,可以得到一组非递减的数据。如下图所示的一颗二叉搜索树,中序遍历后得到的数组是 8、10、11、12、15、18。二叉搜索树的基本性质:左子树 在实际编写代码时,定义一个结点的数据结构和一个二叉搜索树的数据结构,以及一些基本方法。 typedef s...

2016-05-25 23:37:14

阅读数 848

评论数 0

原创 AVL树的插入与删除

AVL树是一种高度平衡的二叉搜索树,其每一个结点的左树高和右树高相差不大于1。这个性质使得AVL树的搜索效率要比普通的二叉搜索树要高,因为对于一组递增的数组,其构成的二叉搜索树会是一个链表,搜索时间复杂度自然就是O(n),而其构成的AVL树则肯定是一个搜索效率为O(lg(n))的二叉树。也正因为此...

2016-05-25 11:00:23

阅读数 13750

评论数 8

原创 快速排序

1. 划分数组 现在有一个目标,将一个给定数组划分成两部分,分立于某一个数的两侧,左侧的数均比该数小,右侧的数均比该数大。 partition的过程如下图所示。 上图中的数组使用数组的最后一个数16作为划分依据,i 为16最终所在的位置,n为数组当前遍历元素位置。 首先,n=0,i...

2016-05-19 22:46:59

阅读数 342

评论数 0

原创 堆排序

1. 堆 堆是一种特殊的二叉树结构,其分为最大堆和最小堆两种。对于最大堆来说,父结点的值一定会比子结点大,最小堆类似。下图为一个简单的最大堆示例,父结点30要比子结点12和22要大,至于两个子结点之间的大小关系则没有要求。 如果用一个数组来存储一个堆,那么我们需要知道每个元素对应的结点的父子结...

2016-05-18 20:22:17

阅读数 298

评论数 0

原创 归并排序

归并排序是分治思想的一个应用,其将原问题分解成规模比较小的问题求解,然后再组合成原问题的解。在讲解归并排序之前,先要编写一个将两个有序数组合并成一个有序数组的程序。 int* merge(int *a1, int *a2, int n1, int n2) { int *result = (int...

2016-05-18 19:51:18

阅读数 292

评论数 0

原创 c实现base64

今天给自己的android项目写了一个加解密算法

2016-05-02 14:53:57

阅读数 627

评论数 0

原创 MAC Android Studio jni配置

最近在mac下配置Android Studio 1.4的jdk和jni开发时遇到了很多坑,在这里记录一下如何配置Android Studio的jdk开发,以实现Android Studio对jni开发的支持(包括编译和代码提醒等功能),虽然现在网上很多资料博客什么的都说Android Studio...

2016-05-02 12:45:33

阅读数 668

评论数 0

原创 python 使用微信远程控制电脑

今天来分享一个“高大上”的技术——使用python编写一个可以用微信远程控制电脑的程序! 先来分析一下控制的具体流程: 我们使用微信给特定的邮箱发送一封邮件,其中包含了我们想要电脑执行的命令,然后电脑上的python程序获取到这封邮件,然后解析其中的命令,再交付给电脑执行。可以看出,这其中...

2016-03-30 15:26:50

阅读数 5600

评论数 4

原创 python 收发邮件

今天记录一下如何使用python收发邮件,知识要点在python内置的poplib和stmplib模块的使用上。 1. 准备工作 首先,我们需要有一个测试邮箱,我们使用新浪邮箱,而且要进行如下设置: 在新浪邮箱首页的右上角找到设置->更多设置,然后在左边选择“客户端/pop/imap/s...

2016-03-30 14:47:59

阅读数 6732

评论数 0

原创 python sqlite操作

之前讲了一下python下mysql的操作,原文见 http://blog.csdn.net/ivan_zgj/article/details/50988552 今天就讲一下sqlite的操作吧,其实基本跟mysql是一样的。 首先,看下面的sqlite表: 嗯...这就是今天的示例代码要用到的...

2016-03-29 14:20:29

阅读数 1109

评论数 0

原创 python轻量级爬虫的编写

嗯...今天来分享一下如何使用python编写一个简单的网络爬虫。说到爬虫,这简直就是广大懒惰的程序员和宅男们的福音啊,一次编写,想要啥资源就能爬啥资源,高至各种学习资源,论文资料,低至各种图片小视频(...)等等...嗯...这里讲解了如何搭建一个简单爬虫的框架之后,会基于该框架编写一个栗子,该...

2016-03-27 18:00:16

阅读数 4100

评论数 0

原创 Python数据库操作(MySQL)

嗯...这两天捣鼓了一下Python,不得不说脚本语言就是强大方便,随手打开cmd,敲一行跑一行,妈妈再也不用担心我打不开编译器了......(这是针对一些配置中下的电脑打开AS说的...) 好...今天先记录一下Python的MYSQL数据库操作吧。其实很简单,第一步,我们需要安装一个mysql...

2016-03-26 20:43:45

阅读数 3752

评论数 1

原创 自定义android图表SimpleChart

今天分享一个自定义的图表控件。其实这是以前做一个项目的时候写的,当时也想过在网上找一些开源的图表库直接用就行了,但是实在没有找到符合要求的(主要是UI要求),另外网上的开源图表库实在是太强大了,例如什么HelloChart之类的,我实在是用不上了,就算要用我也得重画UI。那个时候我又想起了一句话:...

2016-03-21 17:13:51

阅读数 823

评论数 0

原创 android 仿ios列表头可以停靠在列表顶部的列表PinnedHeaderListView

今天分享一个自定义仿ios的列表,主要实现的功能是使列表头可以停靠在列表顶部。代码在github上,链接看下面

2016-03-19 16:58:43

阅读数 2466

评论数 0

原创 android 基于树结构的任意层级列表

最近写了一个基于树结构的任意层级列表,其展现效果就类似于android原生的ExpandableListView啦,不过自己写一个也是挺好玩的。在这里我主要是使用到了树这种数据结构来实现任意层级可展开/收起的效果的。先来看一下效果图呗。 嗯...看起来比较朴素。。嘛,androi...

2016-03-18 16:34:26

阅读数 1847

评论数 0

原创 C++入门篇之值传递,指针传递和引用传递的那些事

最近在自学C++,一边学习一边在心里将C++与C语言和Java进行比较。毫无疑问,作为以C语言为基础,和C语言同一个爹的一门编程语言,C++自然与C原因有很多相似之处,例如C++的变量传递就沿用了C语言中的值传递和指针传递两种。此外,C++还引入了一种新的传递方式——引用传递。下面我们将来探讨一下...

2016-02-26 13:49:58

阅读数 737

评论数 0

原创 android 实现有阻尼下拉/上拉刷新列表

在上一篇文章《有阻尼下拉刷新列表的实现》中,我解析了如何基于重载dispatchDraw方法重画子View和重载onTouchEvent方法监控受试来实现下拉刷新列表,而在这篇文章中,我将会基于上一篇文章介绍的技术,在下拉刷新列表PullToRefreshListVIew的基础上,加上有阻尼上拉刷...

2016-02-15 17:46:42

阅读数 1778

评论数 0

原创 android 有阻尼下拉刷新列表的实现

本文将会介绍有阻尼下拉刷新列表的实现,先来看看效果预览: 这是下拉状态: 这是下拉松开手指后listView回滚到刷新状态时的样子: 1. 如何调用 虽然效果图看起来样子不太好看,主要是因为那个蓝色的背景对不对,没关系,这只是一个背景而已,在了解了我们这个下拉刷新列表的实现之...

2016-02-15 01:47:07

阅读数 2931

评论数 0

原创 java学习笔记:使用zip api进行文件解压缩以及不解压直接读取指定文件内容

在一个android项目中使用到了zip进行文件的传输,可以大大减少存储空间和传输流量,于是就会涉及到zip文件的加压缩问题。下面将会详细介绍java原生的zip api。先来简单列举一下java中关于zip的api: 一、zip压缩 java通过 ZipOutputStream 对zip文件...

2015-09-23 15:06:13

阅读数 8013

评论数 1

原创 关于android应用程序签名的一些事儿

android应用程序的签名不是唯一的。同一个应用程序,不同的下载渠道不同的版本,甚至不同的机子上得签名都是不一样的。 android应用程序的签名是根据一个唯一的证书生成,这个证书就是我们打包应用的时候所用到的keystore,这是打包应用的时候生成的私钥。 我们实现分享功能的时候注册开放平...

2015-08-25 16:48:06

阅读数 377

评论数 0

原创 ios自定义gridview

ios下自定义的日程表,可以用作课程表,数据操作以delegate方式完成,方便简单。 因为代码基本就是画图的代码,所以在此i不详细解析了,有兴趣的孩纸可以到github上下载(ScheduleGridView),链接点击这里==>点击打开链接 下面简单说一下使用方法,...

2015-08-25 10:54:35

阅读数 1714

评论数 0

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