自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱广健的博客

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

  • 博客(32)
  • 资源 (5)
  • 收藏
  • 关注

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

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

2016-08-08 10:03:05 3450 1

原创 斐波那契堆

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

2016-06-08 16:24:36 1728

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

最大流问题常常出现在物流配送中,可以规约为以下的图问题。最大流问题中,图中两个顶点之间不能同时存在一对相反方向的边。边上的数字为该条边的容量,即在该条边上流过的量的上限值。最大流问题就是在满足容量限制条件下,使从起点s到终点t的流量达到最大。在介绍解决最大流问题的Ford-Fulkerson方法之前,先介绍一些基本概念。1.  残存网络与增广路径根据图和各条边上的流可以画出

2016-06-03 19:33:40 35594 6

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

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

2016-06-02 14:08:57 15428

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

上一篇博客介绍了适用于任何有向图(即使存在负环路)的Bellman-Ford算法,对图G=(V,E)来说,该算法的时间复杂度为O(VE)。本文介绍时间复杂度为O(v^2)的Dijkstra算法,但只适用于没有负权重边的有向图。基本上所有计算图的最短路径的算法都基于一个性质:一条最短路径的子路径肯定也是一条最短路径。该性质用反证法就可以轻易证明。反过来说,我们有可能基于一条最短路径构造出另一条到

2016-06-01 21:54:57 9092

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

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

2016-06-01 13:19:03 4891

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

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

2016-05-31 18:48:14 13065 2

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

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

2016-05-30 23:13:42 24703 5

原创 图的广度优先遍历

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

2016-05-29 00:30:08 2145

原创 B树操作详解

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

2016-05-27 23:33:30 7230 1

原创 红黑树的插入与删除

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

2016-05-26 15:09:52 9582 1

原创 二叉搜索树

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

2016-05-25 23:37:14 1342

原创 AVL树的插入与删除

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

2016-05-25 11:00:23 17799 8

原创 快速排序

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

2016-05-19 22:46:59 487

原创 堆排序

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

2016-05-18 20:22:17 458

原创 归并排序

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

2016-05-18 19:51:18 450

原创 c实现base64

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

2016-05-02 14:53:57 803

原创 MAC Android Studio jni配置

最近在mac下配置Android Studio 1.4的jdk和jni开发时遇到了很多坑,在这里记录一下如何配置Android Studio的jdk开发,以实现Android Studio对jni开发的支持(包括编译和代码提醒等功能),虽然现在网上很多资料博客什么的都说Android Studio不支持(打脸)。先来一些有用的资料:使用gradle-experiment工具编译jni

2016-05-02 12:45:33 947

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

今天来分享一个“高大上”的技术——使用python编写一个可以用微信远程控制电脑的程序!先来分析一下控制的具体流程:我们使用微信给特定的邮箱发送一封邮件,其中包含了我们想要电脑执行的命令,然后电脑上的python程序获取到这封邮件,然后解析其中的命令,再交付给电脑执行。可以看出,这其中主要的技术难点就是获取邮件了!但是!这没有任何问题,大家看到我的上一篇博客《python 收发邮件》 

2016-03-30 15:26:50 6834 4

原创 python 收发邮件

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

2016-03-30 14:47:59 7994

原创 python sqlite操作

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

2016-03-29 14:20:29 1340

原创 python轻量级爬虫的编写

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

2016-03-27 18:00:16 4957

原创 Python数据库操作(MySQL)

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

2016-03-26 20:43:45 4920 1

原创 自定义android图表SimpleChart

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

2016-03-21 17:13:51 1135

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

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

2016-03-19 16:58:43 2825

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

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

2016-03-18 16:34:26 2500

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

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

2016-02-26 13:49:58 997

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

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

2016-02-15 17:46:42 2244

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

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

2016-02-15 01:47:07 3451

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

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

2015-09-23 15:06:13 9191 1

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

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

2015-08-25 16:48:06 563

原创 ios自定义gridview

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

2015-08-25 10:54:35 2045

微信远程控制电脑

使用python编写的基于邮件收发的远程控制电脑的代码。运行python程序之后,可以使用手机发送邮件到特定的邮箱上,然后电脑上的python程序会获取该邮件并解析命令执行。

2016-03-30

python简单网络爬虫

python开发的简单爬虫,可以爬取百度百科若干个页面,可以自行修改。使用BeautifulSoup解析网页,使用内存存储已访问过的URL,以使得程序不会重复爬取网页。

2016-03-27

python网络爬虫

python开发的简单爬虫,可以爬取百度百科若干个页面,可以自行修改。使用BeautifulSoup解析网页,使用内存存储已访问过的URL,以使得程序不会重复爬取网页。

2016-03-27

Python爬虫

python开发的简单爬虫,可以爬取百度百科若干个页面,可以自行修改。使用BeautifulSoup解析网页,MySQL数据库存储已访问过的URL,以使得程序不会重复爬取网页。

2016-03-27

Python简单爬虫

使用Python编写的简单爬虫,可以爬取若干个百度百科网页,可以自行修改。使用BeautifulSoup解析网页,使用MySQL数据库存储已访问过的URL,以使得程序不会重复爬取网页(但是会降低速度)

2016-03-26

空空如也

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

TA关注的人

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