自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Nick

亘古而常青的昨天永远是过去,也永远会再来。

  • 博客(257)
  • 收藏
  • 关注

原创 g++编译包含多个.cpp文件和.h文件的工程

g++编译多文件1.进入存放所有.cpp和.h文件的文件夹路径2.输入 g++ -c alien.cpp events.cpp gas_stations.cpp main.cpp officer.cpp planets.cpp spaceship.cpp spaceships.cpp trading_stations.cpp -std=c++113.输入 g++ alien.o eve...

2019-05-11 18:04:18 5503 1

转载 string、const char*、 char* 、char[]相互转换(全)

string、const char*、 char* 、char[]四者类型经常会需要转化。一:转化总结形式如下:使用时,要对源格式和目标格式进行初始化。源格式赋值为具体的内容,目标格式赋值为空。二、总结方法:1、变成string,直接赋值。2、char[]变成别的,直接赋值。3、char*变constchar*容易,con...

2019-05-10 19:48:18 5061

原创 正则表达式读取数据(七巧板)

之前的“七巧板”题使用split()读取.xml文件中的数据,现在改用正则表达式读取代码:import reimport copy# get colours and coordinatesdef available_coloured_pieces_orig(file_name): # get all coordinates from file coloure...

2019-05-07 18:08:14 476

原创 爬虫获取斗鱼主播人气

获取斗鱼页面中DOTA2游戏主播的人气值,并进行排序代码:import requestsimport reimport randomclass Spider(): # url = 'https://www.douyu.com/g_LOL' url = 'https://www.douyu.com/g_DOTA2' root_pattern = '&l...

2019-05-07 17:01:24 1306

原创 操作系统中的大头小头字节序

网络字节序与主机字节序不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序最常见的有两种1. Little endian(小头):将低序字节存储在起始地址2. Big endian(大头):将高序字节存储在起始地址内存地址: (起始地址)低位 ------>高位二进制编码: 0x高位|低位FEFF: 大头,最直...

2019-05-07 16:44:54 2903

原创 七巧板拼接

知识点:1. 求凸包2. 平面图形的旋转和翻转,矩阵运算3.求向量夹角,判断拼接是否有重复代码:import copyimport numpy as np# get colours and coordinatesdef available_coloured_pieces(file_name): # get all coordinates from fi...

2019-05-06 18:03:03 800

转载 深入浅出UML类图(OOP编程中梳理类之间的关系)

转载自:http://www.uml.org.cn/oobject/201211231.asphttps://www.jianshu.com/p/b8cebdb301b9?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2019-05-02 12:52:38 706

原创 C++中main(int argc, char **argv) 含义

写好main.cpp文件,通过g++编译得到可执行文件 main.exe(win环境)或 main.o(Linux环境)main函数代码:#include <iostream>using namespace std;int main(int argc, char **argv){ cout << "argc: " << argc...

2019-05-01 18:42:42 1034

原创 面向对象编程练习题(C++)

编写一个程序,定义长方形类,构造函数、拷贝构造、赋值构造、获取面积、获取IOU面积、获取交集面积、并集面积、面积大小比较、是否为同一长方形比较、自定义cout << 打印函数。代码:#include <iostream>using namespace std;class Rectangular{public: Rectangular(double...

2019-05-01 13:19:05 4283

转载 多线程实现快速排序

多线程排序,主要是将整个排序的序列分成若干份,每一个线程排序一份,所以线程排序完成之后,就进行归并,相当于多个有序序列合并成一个有序序列。这里就需要用到线程屏障,也就是pthread_barrier 系列函数。屏障,通俗的说就是一个比赛跑步的过程,所以队员就绪了,才能进行比赛。多线程排序也是,需要每个线程都是排序完成后,才能进行合并的过程。代码:#include &lt...

2019-04-28 18:01:04 6701 1

转载 用python实现向量的各种计算方法

python3的标准库中自带math库,但没有numpy。from math import acos,pifrom math import sqrtfrom decimal import Decimal,getcontextgetcontext().prec = 30class Vector(object):CANNOT_NORMALIZE_ZERO_VECTOR_M...

2019-04-23 11:52:12 10509

原创 116. Populating Next Right Pointers in Each Node

You are given aperfect binary treewhereall leaves are on the same level, and every parent has two children. The binary tree has the following definition:struct Node { int val; Node *left; ...

2019-04-18 12:02:54 215

原创 103. Binary Tree Zigzag Level Order Traversal

Given a binary tree, return thezigzag level ordertraversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).For example:Given binary tre...

2019-04-17 21:21:05 188

原创 739. Daily Temperatures

Given a list of daily temperaturesT, return a list such that, for each day in the input, tells you how many days you would have to wait until a warmer temperature. If there is no future day for which...

2019-04-16 12:43:25 225

原创 322. Coin Change

You are given coins of different denominations and a total amount of moneyamount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money ...

2019-04-15 22:03:31 179

原创 347. Top K Frequent Elements

Given a non-empty array of integers, return thekmost frequent elements.Example 1:Input: nums = [1,1,1,2,2,3], k = 2Output: [1,2]Example 2:Input: nums = [1], k = 1Output: [1]Note:You...

2019-04-14 10:56:40 195

转载 C++类有继承时,析构函数必须为虚函数

C++类有继承时,析构函数必须为虚函数。如果不是虚函数,则使用时可能存在内在泄漏的问题。 如果自己设计的C++类体系中存在继承关系,请注意父子类的析构函数关键字设置。虚函数是在基类中被声明为 virtual,并在派生类中重新定义的成员函数,可实现成员函数的动态重载。 当一个类作为基类时,它的析构函数应该为虚析构函数(基类析构函数前加virtual关键字),这样才能保证调用子类的析构函数。...

2019-01-18 21:17:28 1695

原创 面向对象编程(笔记)

1.复合 (类中含有其他类) has-a2.委托(类中含有其他类的指针)has-pointer-to3.继承   is-a 

2019-01-16 17:03:20 318 1

原创 string class (字符串类的设计,带指针的class)

包括内容:深度拷贝:类中指针所指向的区域 需要拷贝new:先分配memory,再调用构造函数delete:先调用析构函数,再释放memory动态分配内存堆、栈的区别内存分配方式的可视化(release and debug)big three:拷贝构造、拷贝赋值、析构函数new/delete配合使用,注意加 [ ] 代码:mystring.h#ifn...

2019-01-15 21:58:12 622

原创 complex class (复数类的设计,不带指针的class)

包括内容有:合理使用:引用、const关键字形参尽量使用引用const 能加则比加运算符重载(一般设定为inline函数)友元函数:可直接使用类的private成员,提高程序运行效率尽量使用  冒号(:)的赋值方式对 构造函数进行初始化构造函数的函数重载类内定义的函数 == inline函数何时采用成员函数、何时采用全局函数临时类(Temporary obj...

2019-01-15 11:57:09 1356

原创 iostream Iterator 的使用

#include &lt;iostream&gt;#include &lt;iterator&gt;#include &lt;algorithm&gt;#include &lt;vector&gt;#include &lt;string&gt;using namespace std;int main(){ istream_iterator&lt;string&gt; is...

2019-01-14 18:34:53 267

转载 线段树的理解(转载)

http://www.cnblogs.com/TenosDoIt/p/3453089.html线段树的精髓在于:对区间做操作,可以高效实现,基本能保持每个操作的复杂度为O(logn) 线段树中的延迟标记概念...

2019-01-04 18:09:51 187

转载 随机抽样一致算法(Random sample consensus,RANSAC 简单版)PYTHON实现

一、RANSAC理论介绍普通最小二乘是保守派:在现有数据下,如何实现最优。是从一个整体误差最小的角度去考虑,尽量谁也不得罪。RANSAC是改革派:首先假设数据具有某种特性(目的),为了达到目的,适当割舍一些现有的数据。给出最小二乘拟合(红线)、RANSAC(绿线)对于一阶直线、二阶曲线的拟合对比:可以看到RANSAC可以很好的拟合。RANSAC可以理解为一种采样的方式,所以对于...

2019-01-03 16:18:13 2064

转载 SVM(python实现)

看《机器学习(西瓜书)》可以理解SVM的推导过程,重点是看附录理解“对偶问题”,以及核函数的定义。SVM的代码主要是SMO算法的实现,主要参考《统计学习方法》,即如何选择pair进行优化,收敛后即可得到α、w、b代码:# _*_ coding:utf-8 _*_from numpy import *def loadDataSet(filename): #读取数据 dat...

2018-12-28 18:20:30 4544

转载 Logistic回归(python实现)

一、逻辑回归(LogisticRegression)       Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。之前在经典之作《数学之美》中也看到了它用于广告预测,也就是根据某广告被用户点击的可能性,把最可能被用户点击的广告摆在用户能看到的地方,然后叫他“你点我啊!”用户点了,你就有钱收了。这就是为什么我们的电脑现在广告泛滥的原...

2018-12-26 12:01:29 6234

转载 朴素贝叶斯分类(python实现)

引文:前面提到的K最近邻算法和决策树算法,数据实例最终被明确的划分到某个分类中,下面介绍一种不能完全确定数据实例应该划分到哪个类别,或者说只能给数据实例属于给定分类的概率。基于贝叶斯决策理论的分类方法之朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备方式较为敏感适用数据类型:标称型数据。朴素贝叶斯的一般过程收集数据:可以使用任何方式准备数据:需...

2018-12-25 22:06:51 1361

转载 CART树用于回归应用(python实现)

一、CART ( Classification And Regression Tree) 分类回归树1、基尼指数:在分类问题中,假设有KK 个类,样本点属于第kk 类的概率为PkPk ,则概率分布的基尼指数定义为: 在CART 分类问题中,基尼指数作为特征选择的依据:选择基尼指数最小的特征及切分点做为最优特征和最优切分点。2、在回归问题中,特征选择及最佳划分特征值的依据是:划分后样...

2018-12-24 22:17:31 2015 3

转载 ID3决策树(python实现)

决策树的生成(该函数是一个递归的过程)CreateTree输入:数据集、特征 输出:字典型数据——决策树 a、判断是否满足停止划分的条件 若当前数据集的属性值为空,则投票表决当前样本中最多的类别 若当前所有的样本类别相同,则返回当前数据的类别。b、寻找当前数据的最佳划分特征 c、将最佳特征作为关键字,保存到字典中 d、从当前的属性集合中删除该最佳特征 e、遍历该最佳划分特征的...

2018-12-19 21:59:56 756 1

转载 KNN(python实现)

kNN算法流程一般情况下,kNN有如下流程: (1)收集数据:确定训练样本集合测试数据; (2)计算测试数据和训练样本集中每个样本数据的距离;常用的距离计算公式: 欧式距离公式:d(x,y)=∑ni=1(xi−yi)2−−−−−−−−−−−−√d(x,y)=∑i=1n(xi−yi)2 曼哈顿距离公式:d(x,y)=∑ni=1|xi−yi|d(x,y)=∑i=1n|xi−yi|(...

2018-12-19 21:52:07 2587

转载 霍夫曼编码(C++ 优先队列)

霍夫曼编码 一般采用前缀编码 -- -- 对字符集进行编码时,要求字符集中任一字符的编码都不是其它字符的编码的前缀,这种编码称为前缀(编)码。算法思想:构造哈夫曼树非常简单,将所有的节点放到一个队列中,用一个节点替换两个频率最低的节点,新节点的频率就是这两个节点的频率之和。这样,新节点就是两个被替换节点的父节点了。如此循环,直到队列中只剩一个节点(树根)。 其实这就是一个贪心策略,属于...

2018-12-12 20:57:51 1883 1

转载 字符串匹配——KMP(C++实现)

字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很多解释,但读起来都很...

2018-12-11 17:50:02 1810

转载 Astar A*算法 最短路径算法

通常情况下,迷宫寻路算法可以使用深度优先或者广度优先算法,但是由于效率的原因,不会直接使用这些算法,在路径搜索算法中最常见的就是A*寻路算法。使用A*算法的魅力之处在于它不仅能找到地图中从A到B的一条路径,还能保证找到的是一条最短路径,它是一种常见的启发式搜索算法,类似于Dijkstra算法一样的最短路径查找算法,很多游戏应用中的路径搜索基本都是采用这种算法或者是A*算法的变种。下面我们来了解...

2018-12-10 20:23:31 6630

转载 最短路径---SPFA算法(C++)

适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重点。算法思想:我们用数组d记录每个结点的最短路径估计值,用邻接表来存储图G。我们采取的方法是动态逼近...

2018-12-07 23:03:33 2405 1

转载 SGU326 perspective 最大流 竞赛排名问题

  题目大意:有n支NBA球队,这些队伍属于同一个半区,已知各队目前已经赢了几场以及还要打几场(赢了的场次和没打的场次不一定是和    相同半区内的对手),另外已知一个n * n的矩阵,a[i][j]代表i和j还要打的比赛场数。根据这些条件,请问队伍1有没有获得半区冠军的可能性    (若积分相同则均为冠军);    方法:构出图来是四列的网络流问题:第一列为源点,第二列为代表不含1的比...

2018-12-06 16:33:36 573

转载 最大流之Ford-Fulkerson算法(C++实现)

本文主要讲解最大流问题的Ford-Fulkerson解法。可是说这是一种方法,而不是算法,因为它包含具有不同运行时间的几种实现。该方法依赖于三种重要思想:残留网络,增广路径和割。一、残留网络顾名思义,残留网络是指给定网络和一个流,其对应还可以容纳的流组成的网络。具体说来,就是假定一个网络G=(V,E),其源点s,汇点t。设f为G中的一个流,对应顶点u到顶点v的流。在不超过C(u,v)的条件...

2018-12-06 15:21:30 4970 2

转载 POJ - 3259 Wormholes(多种方法求负权回路)+译文

While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that delivers you to its destination at a time that i...

2018-12-05 20:45:39 539 1

转载 最短路径---Floyd算法(C++)

Floyd算法的介绍算法的特点: 弗洛伊德算法是解决任意两点间的最短路径的一种算法,可以正确处理有向图或有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭包。算法的思路通过Floyd计算图G=(V,E)中各个顶点的最短路径时,需要引入两个矩阵,矩阵S中的元素a[i][j]表示顶点i(第i个顶点)到顶点j(第j个顶点)的距离。矩阵P中的元素b[i][j],表...

2018-12-05 20:32:31 5619 2

转载 Bellman-Ford算法原理及练习 || LeetCode 787

There are n cities connected by m flights. Each fight starts from city u and arrives at v with a price w.Now given all the cities and flights, together with starting city src and the destination dst...

2018-12-04 21:47:36 1531

转载 贝尔曼-福特(Bellman-Ford)算法——解决负权边(C++实现)

Dijkstra算法虽然好,但是它不能解决带有负权边(边的权值为负数)的图。接下来学习一种无论在思想上还是在代码实现上都可以称为完美的最短路径算法:Bellman-Ford算法。Bellman-Ford算法非常简单,核心代码四行,可以完美的解决带有负权边的图。for(k=1;k&lt;=n-1;k++) //外循环循环n-1次,n为顶点个数 for(i=1;i&lt;=m;...

2018-12-04 20:43:20 4399

转载 单源最短路径——迪杰斯特拉(Dijkstra)算法 C++实现

求最短路径之Dijkstra算法Dijkstra算法是用来求单源最短路径问题,即给定图G和起点s,通过算法得到s到达其他每个顶点的最短距离。基本思想:对图G(V,E)设置集合S,存放已被访问的顶点,然后每次从集合V-S中选择与起点s的最短距离最小的一个顶点(记为u),访问并加入集合S。之后,令u为中介点,优化起点s与所有从u能够到达的顶点v之间的最短距离。这样的操作执行n次(n为顶点个数)...

2018-12-03 16:24:39 11870

空空如也

空空如也

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

TA关注的人

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