自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 win7下用python清除流氓软件进程

今天偶然发现迅雷不停的在上传数据,每秒3M左右,打开任务管理器,发现一大堆的进程,很多流氓软件的进程驻留内容,偷窥隐私,占用带宽,尤其是360全家桶,删都删不掉。先分享一个简单的脚本,等有时间再英航死。import psutilimport osrogue_softwares = ['360chrome.exe', 'Xmp.exe', 'DingTalk.exe', 'KanKan.exe', 'SoftMgrLite.exe', 'iCloudServices.exe', .

2020-06-29 17:29:50 572

原创 UNIX网络编程卷1:套接字联网API(第三版)之第二章

1.IPv5是一个实验性的资源预留协议,被称为因特网流协议(ST),目的是提供服务质量-QOS。支持多媒体(语音\视频和实时数据流量),在因特网上实时传输.由两个协议组成-用于数据传输的ST协议和流控制消息协议(SCMP). 又称为ST2. 它被设计与IPv4一起运行的. IPv6与IPv5一点关系也没有,IPv6是IPv4的替代版本。...

2020-03-20 09:47:53 220

原创 boost asio library

#include <boost/asio.hpp>#include <boost/date_time/posix_time/posix_time.hpp>void test() { io_service ios; deadline_timer t(ios, boost::posix_time::seconds(2)); cout <&l...

2020-02-22 23:56:07 304

原创 win7下boost的安装和IDE的配置

很多中文教程都没有讲清楚win7下如何搭建boost的开发环境,大部分是拷贝粘贴,基本都不能work,这是国内低下的大环境所致。先介绍一下我的环境:windows7 + MinGW + Clion, 安装MinGW和Clion的过程省略。在下载完boost之后,放置到C盘。安装步骤如下:1. 双击bootstrap.bat,这会生成bjam2. 命令行执行 bjam即可3. C...

2019-12-28 14:57:20 304

原创 C++ Primer(第四版)答案之第九章

9.1(a) 正确,不包含sa+6这个指针所指向的数据。sa+6是数组最后一个元素的下一位。(b) 正确(c) 错误,数组ia的长度为7,最多指向ia+7(d) 错误,不能逆向指示9.2#include <iostream>#include <fstream>#include <sstream>#include <ve...

2019-07-23 22:10:15 389 1

原创 C++ Primer(第四版)答案之第八章

8.1将Goodbye!写入到文件(包括回车换行)。如果os是ostringstream,则写入到字符串中。如果os是ifstream,则错误8.2流对象不能赋值和复制,所以不能作为形参。修改为:ostream print(ostream &os);8.3#include <iostream>#include <fstre...

2019-07-19 22:02:43 367

原创 C++ Primer(第四版)答案之第六章

6.1空语句就是不执行任何操作的语句,由单一的分号组成,代表空操作。;举个例子如下,如果flag==true,那么什么都不执行,else后面的大括号内如果不填入任何语句,就是空语句块,与空语句的用法类似。if(flag) ;else { // your code}6.2参见6.16.3很显然,用逗号操作符代替语句块,显著的降低了代...

2019-07-02 17:36:21 803 2

原创 C++ Primer(第四版)答案之第五章

5.1(12/3)*4+(5*15)+24%(4/2)==16+75+0=915.2-30*3+21/5=-90+4=-86,不依赖于机器-30+3*21/5=-30+12=-18,不依赖于机器30/3*21%5=0,不依赖于机器-30/3*21%4=-2,依赖于机器5.3#include <iostream>using namesp...

2019-07-02 17:34:56 741

原创 C++ Primer(第四版)答案之第四章

4.1(a) 数组大小用变量定义,非法(b) 数组大小用函数返回值定义,非法(c) 数组大小用整型表达式定义,合法(d) 用字符串字面值初始化字符数组,数组大小不够。字符串字面值还有末尾的'\0'。4.2函数外定义,sa都是空字符串,ia都是0。函数内定义,sa2都是空字符串,ia2都是未定义值。4.3(a) 是对的。(b) 是错误的,vecto...

2019-06-30 18:11:00 293

原创 C++ Primer(第四版)答案之第三章

3.1#include <iostream>using std::cin;using std::cout;using std::endl;int main() { double base; int exponent; cin >> base >> exponent; double sum(1.0); f...

2019-06-30 18:09:33 235

原创 C++ Primer(第四版)答案之第二章

2.1都是整型,但是存储空间不一样。在32位机器上short有2个字节,int有2个字节,而long需要4个字节。由于存储空间不同,表示的范围也不同。这里short和int的表示范围从-32768到32767,long的表示范围从-2147483648到21474836472.2有符号数的最高位,用1表示负数,0表示正数,无符号数没有此规则。2.332767,这是有...

2019-06-30 18:04:01 905

原创 C++ Primer(第四版)答案之第一章

1.1编译器信息如下,C++源文件后缀.cpp。zhaosp@ubuntu:~/apollo$ g++ -vUsing built-in specs.COLLECT_GCC=g++COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapperOFFLOAD_TARGET_NAMES=nvptx-noneOFFLOA...

2019-06-30 18:02:04 392

原创 二进制的打印

通常,在做位运算的时候,我们希望能看到内存中的位模式,但是C++对这方面的支持不好,这里自己实现了一个。#include <iostream>using namespace std;string binaryPrint(unsigned char val) { string tmp; while (val) { tmp.push_back(...

2019-06-21 15:04:02 446

原创 boost之初体验

在成功的安装了boost库并配置好环境之后,我们来实际编码一个demo。boost的lambda函数是怎么调用的,看出来了么?就是(_1*3)如果你用过python的lambda,可以发现_1就是x,比如 lambda x: x*3。是不是相似的味道。不过需要include一个头文件,不想python张口就来。#include <iostream>#include ...

2019-06-13 17:22:05 164

原创 win7下boost库的安装和设置

boost库是C++开发常用的第三方库,本文讲解在win7下的安装和使用。尽管已经使用了多年boost,但是多网上很多所谓的安装教程居然语焉不详或者根本不管用,感到十分的气氛。环境win7+MinGW+clion下载https://www.boost.org/users/history/version_1_70_0.html安装解压后,在命令行里面先后执行bootstrap...

2019-06-13 15:56:36 724

原创 C++ Primer(第四版)答案之第七章

7.1形参是函数的局部变量,被实参初始化,在函数被调用的那一刻创建并初始化,调用结束就会撤销。实参是函数的调用者用来传递给函数的参数。实参和形参的类型必须一致或者实参能够转型为形参的类型。7.2(a) 返回值不对,应该是返回int类型(b) 没有指定返回值(c) 函数体缺少左括号(d) 函数体没有左右括号7.3#include <iost...

2019-06-04 21:47:04 834

原创 模板和泛型编程(C++ Primer 答案)

16.1#include <iostream>using namespace std;template <typename T>T myabs(T v) { return abs(v);}int main() { printf("%d\t", abs(-1)); printf("%d\t", abs(-1l)); pr...

2019-06-04 06:59:20 154

原创 计数排序

算法的思想,就是统计数列中小于某个数a的元素的个数,然后把a放到适当的位置,待排数据必须能够比较大小,应该是偏序的。在有限的待排序数据范围内,算法的时间复杂度是O(n+k),k是待排序数据的范围。该算法的特点就是用空间换时间#include <iostream>using namespace std;void countSort(int *data, int s...

2019-05-29 17:30:24 512

原创 冒泡排序

重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。时间复杂度的稳定排序算法。#incl...

2019-05-29 16:06:13 110

原创 快速排序

通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然...

2019-05-29 15:15:14 106

原创 字符转换——简单密码生成

转换规则:abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9大写字母则变成小写之后往后移一位数字不变#include <string>#include <iostream>#include <stdio.h>#include <vector>#...

2019-05-27 22:43:25 375

原创 堆排序

堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。每次都取堆顶的元素,将其放在序列最后面,然后将剩余的元素重新调整为最大堆,依次类推,最终得到排序的序列。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆分为最大堆和最小堆,其实就是完全二叉树。最大堆要求节点的元素都要不小于其孩子,最小堆要求节点元素都不大于其左右...

2019-05-25 11:54:40 340

原创 选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为...

2019-05-25 10:39:42 289

原创 希尔排序

希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。先取一个小于n的整数d1作为第一个...

2019-05-25 09:55:01 3490

原创 直接插入排序

插入排序就是把数列分成前面的已排序部分和后面的未排序部分,每次把未排序部分的第一个元素,插入到已排序部分,使得已排序部分仍然是有序的,长度加1。由此可见是稳定排序。由于从后往前查找且要移动元素,时间复杂度O(n^2)由于前面的序列是有序的,可以采用折半查找的方式进行优化,这就是折半插入排序的思想了。#include <iostream>using namespace s...

2019-05-24 23:19:56 98

原创 静态链表

静态链表就是用数组来组织链表,用于没有指针的程序语言实现链表结构。较单链表复杂,需要自己实现malloc和free函数,还需要一个备用链来指出空闲结点。/* * 静态链表 * 适用于不设置指针的程序语言中实现链表结构,比如python * 任然需要预先分配大量存储空间 * 优点:插入、删除不需要移动大量元素,仅需要修改整型游标,这里整型游标替代指针p * 通常数组的第一个元素作为头...

2019-05-18 11:19:29 146

原创 数据结构实现

数据结构+算法是程序员的两条腿。这里有各种数据结构和算法的代码实现、分析、demo。顺序栈单链表二叉链表

2019-05-17 11:26:47 281

原创 顺序栈的实现

栈是后进先出线性表,顺序栈用连续的地址空间存储栈的元素,基本操作:出栈、入栈、判空、元素个数等,操作比较简单。top == base,是栈空标志#include <stdio.h>#include <stdlib.h>#define STACK_INIT_SIZE 10#define STACKINCREMENT 10// 顺序栈实现// todo:...

2019-05-17 07:29:28 172

原创 单链表基本操作实现

单链表也是很朴素的数据结构,思想很简单。用next域存储下个节点。通常加一个头结点会很方便。虽然不用移动大量元素,但是查找定位的时候必须顺着链表遍历,不能随机存储,时间复杂度还是O(n)。优点是不需要来回分配存储空间,只需要按需存储,对于查询操作比较弱的需要,满足比较好。代码也是很简单的,注释已经很清楚了。#include <stdio.h>#include &lt...

2019-05-16 21:43:08 522

原创 顺序表实现

顺序表是最简单的数据结构之一。常见的操作就是建表、增删改查。采用顺序存储结构,也就是数组,这样随机存取。增删需要移动大量元素,时间复杂度O(n)。顺序查找的时间复杂度也是O(n),不过谁会那么傻,通常都先排序一遍,然后二分查找。代码很简单,基本就是严蔚敏那本书,可以参照着看。#include <stdio.h>#include <iostream>...

2019-05-16 19:40:49 109

原创 由先序和中序序列,重建二叉树

输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。#include <stdio.h>#include <iostream>#include <string>#include <vector>using namespace std; struct TreeNo...

2019-05-16 13:50:43 320

原创 基于二叉链表的二叉树建树且遍历

每个节点最多有两个子节点的树,就是二叉树,不存在度大于2的节点。建表过程比较简单,代码注释已经很清楚了,这里就不赘述了。#include <stdio.h>#include <iostream>#include <string>#define OVERFLOW 1using namespace std;typedef char ElemTy...

2019-05-16 12:12:33 717

原创 基于孩子兄弟表示法的树的遍历(递归版本)

代码的注释已经很清楚了,就不多做解释了。#include <stdio.h>#include <iostream>using namespace std;typedef struct STreeNode* pSTreeNode;typedef int TreeDataType;struct STreeNode { TreeDataType ...

2019-05-16 10:34:21 1766

原创 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

clion测试通过。思路:从头至尾遍历线性表,用栈承接遍历的值,再从栈中恢复数据。#include <stdio.h>#include <vector>#include <stack>using namespace std;// 链表节点struct ListNode { int val; struct ListNode...

2019-05-15 19:11:58 152

原创 windows多线程

常用APIHANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, //SD:线程安全相关的属性,常置为NULL SIZE_T dwStackSize, //initialstacksize:新线程的初始化栈的大小,可设置为0 LPTHREAD_START_ROUTINE lpStartAd...

2019-05-08 13:51:32 196

原创 源码解析之tensorflow构建多层前馈神经网络

这是TensorFlow的测试用例之一,本文将逐行予以解析。本例使用手写数字识别MNIST,MNIST是机器学习领域的一个经典问题。指的是让机器查看一系列大小为28x28像素的手写数字灰度图像,并判断这些图像代表0-9中的哪一个数字。准备数据# 获取参数FLAGS, b = parser.parse_known_args()# load datadata_sets = inpu...

2019-04-30 15:16:01 591

原创 卷积神经网络

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。这里分享一个demo。# coding=utf-8import tensorflow as tffrom tensorf...

2019-04-30 14:11:53 287

原创 tensorflow初体验

tensorflow 2.0 已经发布了!Tensorflow是一个编程系统, 使用图来表示计算任务. 图中的节点被称之为op (operation 的缩写). 一个op获得0个或多个Tensor , 执行计算, 产生0个或多个Tensor . 每个Tensor是一个类型化的多维数组.一个 Tensorflow图描述了计算的过程. 为了进行计算, 图必须在会话里被启动. 会话将图的op分...

2019-04-29 18:13:38 390

原创 seaborn之countplot

统计每个分类的样本数,用bar来显示计数的结构。相当于pandas的groupby操作:df.groupby('xxx')['your_variate'].apply(lambda x: x.unique().size)或者SQL的group by操作:select xxx, count(distinct your_variate) from table group by xx...

2019-03-28 16:35:02 656

原创 pandas的透视图

创建并返回DataFrame类型的透视图表,配合seaborn,是数据分析的一大利器。

2019-03-28 11:43:09 547

空空如也

空空如也

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

TA关注的人

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