xqn2017

导航

2017年12月11日 #

python实现排序算法一:快速排序

摘要: ##快速排序算法##基本思想:分治法,将数组分为大于和小于该值的两部分数据,然后在两部分数据中进行递归排序,直到只有一个数据结束## step1: 取数组第一个元素为key值,设置两个变量,i = 0, j = len(a) - 1## step2: j从后面开始遍历,遇到小于key的值,则a[i] 阅读全文

posted @ 2017-12-11 18:28 xqn2017 阅读(256) 评论(0) 推荐(0)

python实现查找算法:二分查找法

摘要: 二分查找算法也称折半查找,基本思想就是折半,和平时猜数字游戏一样,比如猜的数字时67,猜测范围是0-100,则会先猜测中间值50,结果小了,所以就会从50-100猜测,中间值为75,结果大了,又从50-75猜测中间值,一直到猜中为止。因此,二分查找有一个限制就是原先数组需要是一个有序数组。代码如下: 阅读全文

posted @ 2017-12-11 18:27 xqn2017 阅读(4927) 评论(0) 推荐(0)

python实现排序算法二:归并排序

摘要: ##归并排序 ##基本思想:对于两个排好序的数组A和B,逐一比较A和B的元素,将较小值放入数组C中,当A或者B数组元素查询完后,将A或者B剩余的元素直接添加到C数组中,此时C数组即为有序数组,这就是归并排序原理 ##step1:对于一个无序数组A,可以取A元素中间索引,将A数组分为两个部分A1,A2 阅读全文

posted @ 2017-12-11 18:27 xqn2017 阅读(320) 评论(0) 推荐(0)

python小实例一:简单爬虫

摘要: 本文所谓的爬虫就是通过本地远程访问url,然后将url的读成源代码形式,然后对源代码进行解析,获取自己需要的数据,相当于简单数据挖掘。本文实现的是将一个网页的图片爬出保存到本地的过程,例子很简单,用的是python 3.5.2版本,以前的版本可能导入的包的名字不一样,调用的库函数方式有些差别。代码如 阅读全文

posted @ 2017-12-11 18:26 xqn2017 阅读(3714) 评论(0) 推荐(0)

python实现排序算法三:插入排序

摘要: 插入排序基本思想:假设一个无序数组A,则对于只有一个元素A[0]的子数组C来讲,其是有序的,然后将A[1]插入到C中,则就是将A[1]与A[0]进行比较,如果A[1]比A[0]小,则交换两者的顺序,这里假设是升序排序。此时的C有两个元素A[0]和A[1],且已经排好序,然后再将A[2]插入到C中,如 阅读全文

posted @ 2017-12-11 18:26 xqn2017 阅读(180) 评论(0) 推荐(0)

python实现排序算法四:BFPTR算法

摘要: 所谓的BFPTR算法就是从n个数中寻找最小的K个数,主要思想可以参考注释,写得不是很好,特别是寻找中位数的中位数的时候,欢迎指正: 采用任意排序算法,将分组后的数据进行排序: 阅读全文

posted @ 2017-12-11 18:25 xqn2017 阅读(679) 评论(0) 推荐(0)

C++随记

摘要: 1、const限定符 const限定变量的值不可变,并且const对象必须要初始化 const int buf = 512; //正确,表明buf的值为512 buf = 400; //错误,buf的值不可变 const int temp; //错误,必须要初始化 2、引用 引用必须要初始化,且初始 阅读全文

posted @ 2017-12-11 18:24 xqn2017 阅读(134) 评论(0) 推荐(0)

C++实现二分查找

摘要: #include #include #include #include using namespace std; int main() { vector v1; vector::iterator start; vector::iterator end; vector::iterator mid; int loop = 0; int key = 11; for (loop ... 阅读全文

posted @ 2017-12-11 18:23 xqn2017 阅读(1038) 评论(0) 推荐(0)

优酷土豆2012.9.12校园招聘会笔试题

摘要: 给你一个由n-1个整数组成的未排序的序列,其元素都是1到n中的不同的整数。请写出一个寻找序列中缺失整数的线性时间算法。 分析:只要通过异或算法就可实现,由于1^1=0,2^2=0,0^n = 0;因此,数组中的所有数据与1-n一起做异或,缺失的数据就会显现出来, 代码如下所示: 阅读全文

posted @ 2017-12-11 18:23 xqn2017 阅读(104) 评论(0) 推荐(0)

Google 2013笔试题一

摘要: 2.1 给定三个整数a,b,c,实现 int median(int a, int b, int c),返回三个数的中位数,不可使用sort,要求整数操作(比较,位运算,加减乘除等)次数尽量少,并分析说明程序最坏和平均情况下使用的操作次数。 分析:中位数的意思是一个有序列中间的一个(奇数个数情况)或者 阅读全文

posted @ 2017-12-11 18:22 xqn2017 阅读(135) 评论(0) 推荐(0)

【剑指offer】单链表尾部插入一个节点

摘要: #include using namespace std; //链表结构体 struct ListNode { int m_Value; ListNode *next; }; //创建一个单链表 ListNode *CreateList(int *a,int n) { ListNode *pHead = NULL; ListNode *pTemp = NULL; int i = ... 阅读全文

posted @ 2017-12-11 18:21 xqn2017 阅读(1610) 评论(0) 推荐(0)

查找某个目录下包含有某个关键字的所有文件夹以及子文件夹里的文件名

摘要: 本文中的循环可以省略,只用一条语句实现,为了理解简单,扩展开写的,如下 阅读全文

posted @ 2017-12-11 18:20 xqn2017 阅读(557) 评论(0) 推荐(0)

【剑指offer】将字符串中的空格替换成"%20"

摘要: #include #include using namespace std; char *ReplaceSpace(char *str,int MaxLen) { int SpaceNum = 0; int srcIdx = 0; int srcLen = 0; int dstIdx = 0; int dstLen = 0; char *strTmp = str; if(NU... 阅读全文

posted @ 2017-12-11 18:20 xqn2017 阅读(163) 评论(0) 推荐(0)

【剑指offer】从尾到头翻转打印单链表

摘要: #include #include #include using namespace std; struct ListNode { int m_Value; ListNode *next; }; void ReversePrint(ListNode* pHead) { std::stack s; ListNode *pTemp = pHead; if(NULL == pHead... 阅读全文

posted @ 2017-12-11 18:19 xqn2017 阅读(239) 评论(0) 推荐(0)

python文件打包成exe

摘要: 将自己写的python文件压缩成exe有两种方法: 1、使用pyinstaller step1:安装pyinstaller,在cmd窗口使用pip install pyinstaller安装 step2:cd 到你的文件目录cd D:\py\python testcases\Slice step3: 阅读全文

posted @ 2017-12-11 09:51 xqn2017 阅读(4130) 评论(0) 推荐(0)

python实现根据文件关键字进行切分为多个文件

摘要: 来源:在工作过程中,需要统计一些trace信息,也就是一些打点信息,而打点是通过关键字进行的,因此对一个很大的文件进行分析时,想把两个打点之间的内容单独拷贝出来进行分析 阅读全文

posted @ 2017-12-11 09:50 xqn2017 阅读(4242) 评论(0) 推荐(0)

快速排序、插入排序、归并排序

摘要: 其中插入排序和快速排序均属于内排序,而归并排序则是外排序,由于归并排序使用了外部内存,用空间换取了时间,所以归并排序的时间复杂度最坏和最好都为O(N*logN),快速排序最好为O(N*logN),最坏为O(N^2); 阅读全文

posted @ 2017-12-11 09:49 xqn2017 阅读(292) 评论(0) 推荐(0)

【转载】python实现贪吃蛇

摘要: 本文稍作改动,修复一些bug,原文链接:http://www.cnblogs.com/qiu2013/p/6087627.html 阅读全文

posted @ 2017-12-11 09:49 xqn2017 阅读(79) 评论(0) 推荐(0)

python实现单链表的翻转

摘要: 解释一下rev函数的实现过程: line 9-11是将原链表的第一个节点变成了新链表的最后一个节点,同时将原链表的第二个节点保存在cur中 line13-16就是从原链表的第二个节点开始遍历到最后一个节点,将所有节点翻转一遍 以翻转第二个节点为例 temp = cur.next是将cur的下一个节点 阅读全文

posted @ 2017-12-11 09:48 xqn2017 阅读(3426) 评论(0) 推荐(1)

【转载】根据前序和中序遍历重建二叉树

摘要: 备注:本文为转载,思路比较清晰,原文地址http://www.cnblogs.com/crazycodehzp/p/3556863.html 阅读全文

posted @ 2017-12-11 09:47 xqn2017 阅读(50) 评论(0) 推荐(0)

【转载】windows下多线程简单demo

摘要: 原文链接 http://blog.chinaunix.net/uid-26275986-id-3886498.html 阅读全文

posted @ 2017-12-11 09:46 xqn2017 阅读(1) 评论(0) 推荐(0)

寻找最大连续子串和以及寻找最长数字串

摘要: '''寻找最大连续子串和''' def find_max_sub_sum(data): if not data: return None sub = data[0] submax = data[0] for i in range(1, len(data)): sub = max(sub+data[i], data[i]) submax = max(submax, sub) ... 阅读全文

posted @ 2017-12-11 09:45 xqn2017 阅读(850) 评论(0) 推荐(0)

寻找最长公共子串

摘要: 上述的实现方法对s和t串进行逐个字符比较,其中循环有三层,复杂度为o(n^3),《大话数据结构》里有一个逐步改进的KMP算法,以后再补充吧 阅读全文

posted @ 2017-12-11 09:44 xqn2017 阅读(224) 评论(0) 推荐(0)

【转载】DFS和BFS

摘要: 备注:本文为转载,原文信息如下: 作者:海子 出处:http://www.cnblogs.com/dolphin0520/ 本博客中未标明转载的文章归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 阅读全文

posted @ 2017-12-11 09:43 xqn2017 阅读(2) 评论(0) 推荐(0)

半精度浮点数取5bit指数位

摘要: 半精度浮点是指用16bit表示一个浮点数,最高1bit为符号位,中间5bit为指数a,低10bit为尾数b Value = (符号位)(1+b/1024)*(2^(a-16)) 程序很简单,用pyinstaller -F getExp.py压缩成getExp.exe(见另一篇博客py文件打包成exe 阅读全文

posted @ 2017-12-11 08:59 xqn2017 阅读(1919) 评论(0) 推荐(0)