Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Emacs开发Java之使用

Emacs开发Java之使用

常用方法JDEE的用法可以参考官方网站,我这里只列出自己最常用的。由于我不用Ant了,所以基本上编译都直接采用mvn命令,这些就不劳驾JDEE.java doc生成,也通过maven plugin来完成,不需要JDEE帮忙。创建类输入命令:jde-gen-class-buffer然后按照向导提示完成创建类文件的过程。相对比较简单,但是能用了。智能提示在需要提示的地方按下组合键:C-c C-v C-. 注意,三个按键都需要按住Ctrl键。智能提示有几种方式(...
Android异步任务(AsyncTask)的设计思想

Android异步任务(AsyncTask)的设计思想

AsyncTask在Android十分常用,那为什么如此常用呢,不用行不行呢,内部又是怎么实现的呢,为什么Java的API中没有这个类呢,看完本文后,你将会知道答案。这里说有设计思想是我根据查看Android源代码提炼出来的代码逻辑,所以不会跟Google工程师的原始设计思想100%符合(也有可能是0%),但是本文一定可以帮助你理解AsyncTask,也可能有一些你以前没有发现的内容。大家都知道,Android的主线程(又叫UI线程,线程ID为1)有一些限...
2013年阿里算法笔试题解题报告

2013年阿里算法笔试题解题报告

解答题:1、有一个算法,查找n个元素的的数组的最大值和最小值,要比较2n次;请写一个最高效的算法,并说明他要比较的次数。请注意复杂度的常数(不用写代码,说明步骤和过程即可,要定出比较的次数,没写不给分)2、有三个非递减序列的数组a[l]、b[m]、c[n],求他们之间的最小距离。已知距离的定义如下:distance = max(|a[i]-b[j]|, |a[i]-c[k]|, |b[j]-c[k]|).其中0<=i<l, 0<=j<...
Spark0.9分布式运行MLlib的线性回归算法

Spark0.9分布式运行MLlib的线性回归算法

1 什么是线性回归线性回归是另一个传统的有监督机器学习算法。在这个问题中,每个实体与一个实数值的标签 (而不是一个像在二元分类的0,1标签),和我们想要预测标签尽可能给出数值代表实体特征。MLlib支持线性回归以及L2(ridge)和L1(lasso)正则化参数调整。Mllib还有一个回归算法,原始梯度下降(在下面描述),和上面描述的有相同的参数二元分类算法。可用线性回归算法:LinearRegressionWithSGDRidgeRegressionWi...
Python中的异常处理

Python中的异常处理

在编写程序时可能会出现一些异常,比如类型错误,除零错误等,为了能捕获并处理这些异常,可以使用python的异常处理功能。python使用raise语句可以抛出异常,对于可能出现异常的语句块,用try语句包围起来,并用except捕捉,就可以实现异常处理了,比如:x=input("first number:")y=input("second number:")try:print x/yexcept ZeroDivisionError:print "error...
Python中使用POP协议

Python中使用POP协议

POP(Post Office Post),邮局协议,采用C/S工作模式,读取电子邮件的过程是先利用DNS协议解析POP服务器的IP地址,并连接服务器,使用USER命令将密码传入POP服务器,使用PASS命令将密码传入POP服务器,这个过程完成后,就完成了POP服务器认证,接下来可以对邮箱内的邮件做进一步的操作,python中的poplib库提供了许多方法,如stat,list等,这些方法可以查看邮箱内的邮件数量,大小,下载其中的邮件等。用Python连接...
Python使用select实现异步通信

Python使用select实现异步通信

当一个服务器需要与多个客户端进行通信时,可以使用多进程或者多线程的服务器,也可以使用select模块,它可以实现异步通信。Python中的select模块包含了poll()和select(),select的原型为(rlist,wlist,xlist[,timeout]),其中rlist是等待读取的对象,wlist是等待写入的对象,xlist是等待异常的对象,最后一个是可选对象,指定等待的时间,单位是s. select()方法的返回值是准备好的对象的三元组,...
Python实现DNS查询

Python实现DNS查询

我们知道,操作系统提供执行基本DNS查询的服务。在python的socket模块当中,提供了访问这些基本操作系统服务的接口,下看些基本应用。1. 根据主机名来查询IP地址:socket.getaddrinfo(host,port[, family[, socktype[,proto[,flag]]]]Host参数就是你想查找的域名,其他参数只有当你想把结果直接传递给socket.socket( )或者socket.connect()时才用。这个函数的返回值...
使用Twisted编写服务器

使用Twisted编写服务器

Twisted使用异步的方式处理数据,网络中有事件到达时,协议作出对事件的响应,并调用协议里面的方法,比如loseConnection()用于断开连接,abortConection()用于强制终止连接,connectionMade()用于建立连接。使用Twisted编写网络编程程序,需要进行一下步骤:(1)定义协议类,它继承自protocol,(2)定义factory类,它用于实例化协议类的对象,(3)定义reactor,启动reactor 。下面是使用T...
Python网络字节序和主机字节序

Python网络字节序和主机字节序

在C中关于网络字节序和主机字节序困扰了我一段时间,在python中实现字节流的网络传输,必然这个问题也不可避免,但是我觉得在python中解决这个问题和演示起来比较方便一点。上次用struct的pack方法实现了字节流(见 http://www.linuxidc.com/Linux/2014-02/97158.htm),那么这里就牵涉到一个字节流的字节序问题,当一个16位的int型数据形成01的字节流时,是高位在前,还是低位在前?这里分为网络字节序,和主机...
Python模块——struct(字节流,组包拆包实现)

Python模块——struct(字节流,组包拆包实现)

我们知道python只定义了6种数据类型,字符串,整数,浮点数,列表,元组,字典。但是C语言中有些字节型的变量,在python中该如何实现呢?这点颇为重要,特别是要在网络上进行数据传输的话。python提供了一个struct模块来提供转换。下面就介绍这个模块中的几个方法。struct.pack():struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为字节流,或字节数组)。...
Python实现UDP通信

Python实现UDP通信

UDP,用户数据报传输协议,它位于TCP/IP协议的传输层,是一种无连接的协议,它发送的报文不能确定是否完整地到达了另外一端。UDP广泛应用于需要相互传输数据的网络应用中,如QQ使用的就是UDP协议。在网络质量不好的情况下,使用UDP协议时丢包现象十分严重,但UDP占用资源少,处理速度快,UDP依然是传输数据时常用的协议。下面是用python实现UDP服务器的代码:#!/usr/bin/env pythonimport socketaddress=("12...
Binary Search Tree(BST)二叉搜索树的实现-Java语言

Binary Search Tree(BST)二叉搜索树的实现-Java语言

1.关于二叉搜索树的定义,二叉搜索树是具有以下特征的一棵二叉树:(1)若一个节点有左孩子,则此节点值大于它左孩子的节点值;(2)若一个孩子有右孩子,则此节点值不小于它右孩子的节点值;(3)对其左孩子和右孩子为根节点的子树递归的具有此条性质。在《COMPUTER ALGORITHMS Introduction to Design and Analysis》一书中对BST的定义如下:A binary tree in which the nodes have k...
用C++开发工程时项目的管理: .h和.cpp文件的存放

用C++开发工程时项目的管理: .h和.cpp文件的存放

在用C++开发大型工程时,如何组织文件的存放很重要。总的来说,.h文件用于存放对类的定义,包括类中的数据成员和函数成员。.cpp文件用于实现了类中的成员函数。为了便于理解,有以下例子:我们用C++实现了一个二叉树的类,其中对类的定义放在BinaryTree.h文件中:#pragma once #include"iostream"using namespace std;struct Node{char data;Node *l;Node *r;};class...
插入排序的思想与实现InsertSort

插入排序的思想与实现InsertSort

简单来说,插入排序的思想是将待排序数列(这里用数组表示)分为已排好序和未排好序的两部分,一般将前面先排有序,例如:a[0]...a[i]已经有序,剩下的任务就是将a[i+1]...依次插入到前面有序的数列中,并同时使前面的序列仍然有序。插入排序的开销主要在:找待插入的位置。最坏的情况是原序列是逆序的,每次都要找到最前,开销是 1+2+3+...n-1=n*(n-1)/2,故时间复杂度是O(n*n).在插入的过程中还需要平移前面的数列。但是这个时间开销是伴随...
<< 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 >>