摘要: 解决方法:右键点击你的项目,选择属性,再点击配置属性中的常规,常规中有个平台工作集,把V120改成V100,点击应用即可。 阅读全文
posted @ 2015-07-25 20:51 程序员修练之路 阅读(1772) 评论(0) 推荐(0) 编辑
摘要: 摘要: 本章所讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元素,并借助中位数进行优化处理,保证最坏保证运行时间是线性的O(n)。 1、基本概念 顺序统计量:在... 阅读全文
posted @ 2015-07-25 20:49 程序员修练之路 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 本文重点介绍使用Eclipse+pydev插件来写Python代码, 以及在Mac上配置Eclipse+Pydev 和Windows配置Eclipse+Pydev 编辑器:Python 自带的 IDLE 简单快捷, 学习Python或者编写小型软件的时候。非常有用。 编辑器: Eclipse + pydev插件 1. Eclipse是写JAVA的IDE, 这样就可以通用了,学习代价小。 学... 阅读全文
posted @ 2015-07-25 16:53 程序员修练之路 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉。毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了,现在想来依然觉得丢人。 毫不夸张地说,Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,Linux内核中每一个目录下边都会有一个Kconfig文件和一个Make... 阅读全文
posted @ 2015-07-24 20:45 程序员修练之路 阅读(1442) 评论(0) 推荐(0) 编辑
摘要: 轻松学习Linux操作系统内核源码的方法 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制;一.核心源程序的文件组织:1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42... 阅读全文
posted @ 2015-07-24 20:42 程序员修练之路 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 1. 桶排序介绍 桶排序(Bucket sort)是一种基于计数的排序算法,工作的原理是将数据分到有限数量的桶子里,然后每个桶再分别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。当要被排序的数据内的数值是均匀分配的时候,桶排序时间复杂度为Θ(n)。桶排序不同于快速排序,并不是比较排序,不受到时间复杂度 O(nlogn) 下限的影响。 桶排序按下面4步进行: 1. 设置固定... 阅读全文
posted @ 2015-07-23 21:15 程序员修练之路 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 编程论到极致,核心非代码,即思想。 所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。 每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。 其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。 言归正传(呵呵!恢复默认状态),以下学习基数排序。 【1】基数排序 以前研究的各种排序算法,都是通过比较数据大... 阅读全文
posted @ 2015-07-20 20:57 程序员修练之路 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 计数排序的基本思想是:统计一个数序列中小于某个元素a的个数为n,则直接把该元素a放到第n+1个位置上。当然当过有几个元素相同时要做适当的调整,因为不能把所有的元素放到同一个位置上。计数排序假设输入的元素都是0到k之间的整数。// 8-2.计数排序.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; ... 阅读全文
posted @ 2015-07-16 23:13 程序员修练之路 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 变长一维数组 这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做: //文件名: array01.cpp #include using namespace std; int main() { int len; cin>>len; //用指... 阅读全文
posted @ 2015-07-16 22:54 程序员修练之路 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: 这一节决策树其实是对前面的堆排序,快排等是最优的比较算法的证明, 首先说下《算法导论》上对决策树的定义:一棵决策树是一棵满二叉树(注意看下面解释),表示某排序算法作用于给定输入所做的所有比较,而控制结构,移动等都被忽略了。 注意:这里个人认为定义是错误的,决策树不是一棵满二叉树,连完全二叉树都不是。 首先看看只有三个元素时,决策树的图: 在决策树中,每个内结点都用i:j表示比较下标为i数组元素与... 阅读全文
posted @ 2015-07-16 21:17 程序员修练之路 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 环境配置步骤如下。 1、 下载源文件:http://www.apuebook.com/src.tar.gz。 2、 复制src.tar.gz文件到/home/me/mydir/unixl/目录(自建目录)下。 3、 解压缩后生成apue.2e目录文件。 4、 修改文件apue.2e/ Make.defines.freebsd。 WKDIR=/home/me/mydir/unixl/apue... 阅读全文
posted @ 2015-07-14 21:08 程序员修练之路 阅读(299) 评论(0) 推荐(0) 编辑
摘要: Linux指令:od 示例用法:od -c hello Linux指令:od od命令用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。 语法:od [选项] 文件…命令中各选项的含义:- A 指定地址基数,包括:d 十进制o 八进制(系统默认值)x 十六进制n 不打印位移值- t 指定数据的显示格式,主要的参数有:c AS... 阅读全文
posted @ 2015-07-12 17:09 程序员修练之路 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 我的vim IDE界面: 1、安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。vim中文帮助文档tar包下载地址:http://sourcefor... 阅读全文
posted @ 2015-07-12 10:30 程序员修练之路 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 大家在使用电脑的时候可能会遇到一些需要无人值守让电脑自行执行任务后定时关机的情形,在Win7系统中,我们可以使用“任务计划”设置功能结合shutdown命令灵活设置任务计划,让Win7系统实现定时自动关机,并且可以定制日常任务,让Win7按指定时间频率自动执行。 我们在Win7系统中点击开始按钮,依次选择打开“所有程序—附件—系统工具”,找到“任务计划程序”即可打开Win7系统的任务计划设置面... 阅读全文
posted @ 2015-07-11 18:39 程序员修练之路 阅读(1276) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 有关本手册 : 这是一本awk学习指引, 其重点着重于 : l awk 适于解决哪些问题 ? l awk 常见的解题模式为何 ? 为使读者快速掌握awk解题的模式及特性, 本手册系由一些较具代表性的范例及其题解所构成; 各范例由浅入深, 彼此间相互连贯,范例中并对所使用的awk语法及指令辅以必要的说明. 有关awk的指令, 函数,...等条列式的说明则收录于... 阅读全文
posted @ 2015-07-10 21:22 程序员修练之路 阅读(1732) 评论(0) 推荐(0) 编辑
摘要: 我在这里的教程并不想面面俱到,全是示例,基本无废话。 我只想达到两个目的: 1)你可以在乘坐公交地铁上下班,或是在坐马桶拉大便时读完(保证是一泡大便的工夫)。 2)我只想让这篇博文像一个火辣的脱衣舞女挑起你的兴趣,然后还要你自己去下工夫去撸。 废话少说,我们开始脱吧(注:这里只是topless)。 起步上台 我从netstat命令中提取了如下信息作为用例:$ cat netstat.tx... 阅读全文
posted @ 2015-07-10 20:58 程序员修练之路 阅读(289) 评论(0) 推荐(0) 编辑
摘要: linux下挂载(mount)光盘映像文档、移动硬盘、U盘、Windows和NFS网络共享linux是个优秀的开放源码的操作系统,能够运行在大到巨型小到掌上型各类电脑系统上,随着linux系统的日渐成熟和稳定连同他开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的电脑系统都是由UNIX系统、Linux系统和Windows系统组成的混合系统,不同系统之间经常需要进行数据... 阅读全文
posted @ 2015-07-10 16:06 程序员修练之路 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 在日常工作或学习中我们经常需要在一台电脑上同时使用Windows和Linux(这里以Ubuntu为例)两个系统,我们通常的做法有两种: 一种安装双系统(双系统的安装方法经验里已经有很多,大家可以去参照) 另一种更为普遍的是在Windows本机用虚拟机安装Linux系统,然而Windows本机与虚拟机内Linux系统的文件该如何交换呢,其实也有好多方法,如USB接口设备共享、Ftp服务器共享等,这里... 阅读全文
posted @ 2015-07-10 15:55 程序员修练之路 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足二个特性: 1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。 当父结点的键值总是大于或等于任何一个子节点的键值时为... 阅读全文
posted @ 2015-07-10 15:42 程序员修练之路 阅读(978) 评论(0) 推荐(0) 编辑
摘要: argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[]) { int i; for (i = 0; i>i; return 0; } 执行时敲入 F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.E... 阅读全文
posted @ 2015-07-09 19:07 程序员修练之路 阅读(663) 评论(0) 推荐(0) 编辑
摘要: GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令 解释 示例 file 加载被调试的可执行程序文件。因为一般都在被调试程序所在目录下执行GDB,因而文本名不需要带路径。 (gdb) file gdb-sample r... 阅读全文
posted @ 2015-07-08 20:07 程序员修练之路 阅读(990) 评论(0) 推荐(0) 编辑
摘要: VirtualBox中装好Ubuntu后,发现硬盘空间不够使用 了。以下是搜集整理的解决办法: 1. 添加新硬盘 设置 -> Storage -> SATA控制器->右击,选择“添加虚拟硬盘” 然后,根据需求创建合适的硬盘 2. 重启虚拟机 查看现有系统的磁盘空间 sudo fdisk -l 可看到新加的虚拟硬盘,一般名为:Disk /dev/sdb 3. 给新加的硬盘分区 fdisk /dev/... 阅读全文
posted @ 2015-06-30 15:51 程序员修练之路 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 《编程珠玑(续)》第一章中就介绍了性能监视工具,对于较简单的程序来说,性能监视工具其实可以用变量累加来计算的,但是对于较复杂的程序来说就需要比较好的性能监视工具了。而VS2010提供了一个性能监视工具,虽然我没有写过大型的程序,但是感觉还是很高大上的! 性能监视工具的打开:Analyze->Launch Performace Wizard,选择CPU Simpling,对于可执行程序来说,选择A... 阅读全文
posted @ 2015-06-25 20:38 程序员修练之路 阅读(3295) 评论(0) 推荐(0) 编辑
摘要: 胖树架构下,网络带宽不收敛 传统的树形网络拓扑中,带宽是逐层收敛的,树根处的网络带宽要远小于各个叶子处所有带宽的总和。 而胖树网络则更像是真实的树,越到树根,枝干越粗,即:从叶子到树根,网络带宽不收敛。这是胖树架构能够支撑无阻塞网络的基础。 图2 胖树网络和传统网络的逻辑拓扑比较 如上图所示,为了实现网络带宽的无收敛,胖树网络中的每个节点(根节点除外)都需要保证上行带宽和下行带宽相等,并且... 阅读全文
posted @ 2015-06-12 15:34 程序员修练之路 阅读(6836) 评论(0) 推荐(2) 编辑
摘要: test 阅读全文
posted @ 2015-06-10 21:59 程序员修练之路 阅读(291) 评论(0) 推荐(0) 编辑
摘要: Eclipse中的插件下载,安装和配置可以参考我的另一篇文章:MyEclipse反编译Class文件 下面重点讲解如何使用jad反编译 1。在DOS窗口中,到class所在目录,直接运行 >jad DB.class,将在该目录中生成DB.jad文件。运行 >jad -sjava DB.class,将在该目录中生成DB.java文件 2。在Eclipse 工作台使用: 1)把class目... 阅读全文
posted @ 2015-06-06 14:21 程序员修练之路 阅读(4258) 评论(1) 推荐(0) 编辑
摘要: javap是sun提供的对class文件进行反编译的工具 1、配置Run---external tools---external tools configurations 选择Program 新建javap运行方式 设置location、workspace等选项 如下图: 需要注意的是workspace选择和argument配置 workding directory 设置为${workspace... 阅读全文
posted @ 2015-06-06 10:25 程序员修练之路 阅读(1828) 评论(0) 推荐(0) 编辑
摘要: 对于需要查看Java Class文件源码的筒子们来说,必须在项目中导入Java源码才能查看Class文件的具体实现,这不仅十分的麻烦,因为有时我们并不可以获得Class文件对应的Java源码。今天就给大家介绍一款反编译Class文件的工具,有了它,可以查看任何Class文件的源码。 1.下载MyEclipse反编译Class文件的工具 工具的下载地址:http://pan.baidu.com/s... 阅读全文
posted @ 2015-06-05 22:39 程序员修练之路 阅读(3275) 评论(0) 推荐(1) 编辑
摘要: 题目描述 请编程实现矩阵乘法,并考虑当矩阵规模较大时的优化方法。思路分析 根据wikipedia上的介绍:两个矩阵的乘法仅当第一个矩阵B的列数和另一个矩阵A的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积AB是一个m×p矩阵,它的一个元素其中 1 ≤ i ≤ m, 1 ≤ j ≤ ... 阅读全文
posted @ 2015-06-04 17:51 程序员修练之路 阅读(17406) 评论(2) 推荐(2) 编辑
摘要: 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。 一、抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描... 阅读全文
posted @ 2015-05-30 21:33 程序员修练之路 阅读(928) 评论(0) 推荐(0) 编辑
摘要: 这题的思想是书上的(《算法导论》),代码当然也是按照书上伪码写出的; 《算法导论》中引入这个问题是通过股票的购买与出售,经过问题转换,将前一天的当天的股票差价重新表示出来,即转为了一个最大子数组的问题,具体内容我不多说,转的内容是: 13, -3, -25, 20, -3, -16, -23, 18, 20, -7, 12, -5, -22, 15, -4, 7 找到这连续的16个数里面的连续和最... 阅读全文
posted @ 2015-05-30 18:03 程序员修练之路 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 归并排序基本思想:设两个有序的子序列(相当于输入序列)放在同一序列中相邻的位置上:array[low..m],array[m + 1..high],先将它们合并到一个局部的暂存序列 temp (相当于输出序列)中,待合并完成后将 temp 复制回 array[low..high]中,从而完成排序。在... 阅读全文
posted @ 2015-05-28 20:37 程序员修练之路 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。 它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法 回答补充: 写这个方法的用途就是为... 阅读全文
posted @ 2015-05-22 20:28 程序员修练之路 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 将文件移到 src 这个 Java Source Folder 下面去,现在在外面的 java 文件不会被当成一个需要编译的类,eclipse 不会编译 Java Source Folder 外面的任何 java 文件。 阅读全文
posted @ 2015-05-20 23:14 程序员修练之路 阅读(5911) 评论(0) 推荐(0) 编辑
摘要: 1, 为单一用户:.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。打开用户主目录下的.bashrc,在这个文件中加入export PATH=”$PATH:export PATH="$PATH:/home/***/android-sdk-linux_86 /platform-tools/"使生效 source .bashrc2,全局设... 阅读全文
posted @ 2015-05-17 11:02 程序员修练之路 阅读(3851) 评论(0) 推荐(0) 编辑
摘要: vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如:!ls -l 特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim 2):r !command 将shell命令command的结果插入到当前行的下一行 ... 阅读全文
posted @ 2015-05-16 11:17 程序员修练之路 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 1. 关于Vim 1.1 Vim的几种模式 2. 启动Vim 3. 文档操作 4. 光标的移动 4.1 基本移动 4.2 翻屏 4.3 标记 5. 插入文本 5.1 基本插入 5.2 改写插入 6. 剪切复制和寄存器 6.1 剪切和复制、粘贴 6.2 文本对象 6.3 寄存器 7. 查找与替换 7.1 查找 7.2 替换 7.3 正则表达式 8. 排版 8.1 基本排版 8.2 拼写... 阅读全文
posted @ 2015-05-16 11:09 程序员修练之路 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 前言 本文翻译自:http://bencrowder.net/files/vim-fu/,参考了VIM中文帮助、 Google翻译结果和实际操作结果,对原文的部分内容重新整理,删除和添加了 部分内容并加入了一些技巧。如有翻译不当或在实际操作中出现的任何问题都可以 在文章后回复。注:1. 文中以":"开头为"命令行模式",未注明均为"普通模式"。(了解vim模式":help vim-modes") ... 阅读全文
posted @ 2015-05-11 21:27 程序员修练之路 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 众所周知,Windows远程终端服务默认端口是3389。入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就会进行下一步的入侵,所以我们只需要修改该默认端口就可以避开大多数入侵者的耳目。但是很多朋友由于修改端口的方法错误,导致自己不能远程操作服务器,给自己带来了麻烦。在这里,我给大家简单谈谈正确修改远程端口的方法。 第一步:修改服务器端的端口(注册表有2处需要修改) 1、单击【开始】--... 阅读全文
posted @ 2015-05-08 16:08 程序员修练之路 阅读(2631) 评论(0) 推荐(0) 编辑
摘要: df df(disk free) 功能说明:显示磁盘的相关信息。语 法:df [-ahHiklmPT][--block-size=][-t ][-x ][--help][--no-sync][--sync][--version][文件或设备]补充说明:df可显示磁盘的文件系统与使用情形。参 数: -a或--all 包含全部的文件系统。 --block-size= 以指定的区... 阅读全文
posted @ 2015-05-08 11:18 程序员修练之路 阅读(273) 评论(0) 推荐(0) 编辑