基数排序C++实现及改进思考

步骤 将各待比较元素数值统一数位长度,即对数位短者在前补零; 根据个位数值大小,对数组进行排序; 重复上一步骤,依次根据更高位数值进行排序,直至到达最高位; 特性 稳定算法; 适用于正整数数据(若包含负数,那么需要额外分开处理); 对于实数,需指定精度,才可使用此算法。 代码...

2019-03-12 23:33:58

阅读数 22

评论数 0

LeetCode——160. 相交链表

编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表**:** 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Re...

2019-03-12 23:30:41

阅读数 12

评论数 0

LeetCode——241. 为运算表达式设计优先级(递归)

给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。 示例 1: 输入: "2-1-1" 输出: [0, 2] 解释: ((2-1)-1) = 0 (...

2019-03-12 23:26:57

阅读数 29

评论数 0

LeetCode——455分发饼干(贪心算法)

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ...

2019-03-12 23:22:03

阅读数 73

评论数 0

LeetCode——75颜色分类(荷兰国旗问题)

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2] void sortCol...

2019-03-12 23:20:13

阅读数 14

评论数 0

LeetCode——前K个高频元素(桶排序)

桶排序方法 vector<int> topKFrequent(vector<int>& nums, int k) { // 用哈希map记录每个数字出现的次数 unord...

2019-03-12 23:18:16

阅读数 35

评论数 0

LeetCode——数组中的第K个最大元素(快速排序和堆排序实现)

快速排序实现 // 分区 int partition(vector<int>& array, int left, int right){ // 选择最右的元素作为基准值 int povit = array[righ...

2019-03-12 23:17:08

阅读数 89

评论数 0

LeetCode——求二叉树最小深度

递归实现 int minDepth(TreeNode* root) { // 递归实现 if (!root){ return 0; } else if (!root->left &&amp...

2019-03-12 23:13:58

阅读数 8

评论数 0

十大经典排序算法及C++实现

十大经典排序算法 1、冒泡排序 步骤 从头开始,每次比较两元素,若大者在前,则交换两元素,直至数组末尾,此时最大元素为数组最后的元素; 重复以上步骤,从头开始至上一轮比较的末尾元素; 性质 稳定算法; 代码 // 冒泡排序 void bubbleSort(vector&a...

2019-02-26 22:42:36

阅读数 85

评论数 0

降低模型“过拟合”、“欠拟合”风险的方法

过拟合:指模型对于训练数据拟合呈过当的情况,反映到评估指标上,是模型在训练集上表现很好,但在测试集和新数据上表现较差,在模型训练过程中,表现为训练误差持续下降,同时测试误差出现持续增长的情况。 欠拟合:指模型对于训练数据拟合不足的情况,表现为模型在训练集和测试集表现都不好。 如上图所示,从左至右...

2018-12-26 11:30:16

阅读数 670

评论数 0

分类和回归模型常用的性能评价指标

在预测任务中,给定样例集D={(x1,y1),(x2,y2),…,(xm,ym)}D=\lbrace(x_1,y_1),(x_2,y_2),\ldots,(x_m,y_m)\rbraceD={(x1​,y1​),(x2​,y2​),…,(xm​,ym​)},其中yiy_iyi​是示例xix_ixi...

2018-12-10 16:37:41

阅读数 690

评论数 0

分类任务中数据类别不平衡问题的几种解决方案

类别不平衡(class-imbalance),是指分类任务中不同类别的训练样例数目差别很大的情况(例如,训练集正类样例10个,反类样例90个),本文假设正类样例较少,反类样例较多。 现有解决方案大体分为三类,如下文所示。 欠采样(undersampling) 欠采样方法,即去除一些反类样例,使得正...

2018-12-08 16:49:00

阅读数 1102

评论数 0

多分类问题学习器拆分策略

多分类问题学习器拆分策略 对于NNN个类别C1,C2,…,CNC_1,C_2,\ldots,C_NC1​,C2​,…,CN​,多分类学习的基本思路是拆解法,即将多分类任务拆分成若干个二分类任务求解,拆分策略如下所示: 一对一(One vs. One, OvO) 将NNN个类别两两配对,产生N(N−...

2018-12-07 20:55:07

阅读数 371

评论数 0

数据集的训练集和测试集划分

数据集的训练集和测试集划分 留出法(hold-out) 留出法,直接将数据集DDD划分为两个互斥的集合,其中一个集合作为训练集SSS,另一个作为测试集TTT,一般做法是将2/3~4/5的样本作为训练集,其余部分作为测试集; 在使用留出法时,一般采用多次随即划分、重复进行实验评估后,取平均值作为留出...

2018-12-07 18:05:21

阅读数 303

评论数 0

Neural Baby Talk学习笔记

Neural Baby Talk学习笔记 [1803.09845] Neural Baby Talk 1、介绍 深度学习时代 采用LSTM模型,过分依赖language model,导致caption经常与图像内容关联不够。 深度学习之前 更依赖图像内容,而对language model关...

2018-11-16 14:03:48

阅读数 533

评论数 1

BLEU机器翻译评价指标学习笔记

BLEU机器翻译评价指标学习笔记 BLEU(bilingual evaluation understudy),双语互译质量评估辅助工具,主要用来评估机器翻译质量的工具。 评判思想:机器翻译结果越接近专业人工翻译的结果,则越好。 实际工作:判断两个句子的相似程度。 计算公式: BLEU−N=BP⋅e...

2018-11-09 17:09:15

阅读数 553

评论数 0

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