自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stl中map,hash_map,unordered_map的区别

1. map存储结构是红黑树,所以需要定义比较函数(less),查找效率为O(logN).2. unordered_map存储结构是数组,需要定义hash函数(计算key)和比较函数(equal),查找效率为O(1).3. unordered_map就是hash_map.4. insert、find、[]等方法形式上一致。 ...

2018-09-29 10:04:20 1543

原创 为什么condition_wait要用while来判断condition条件?

condition_variable使用基本形式如下:lockwhile(condition) {wait(lock)}https://blog.csdn.net/matrixyy/article/details/50929150 lock后,wait实际上会unlock,然后其他线程才可能通过lockchange conditionnotify修改...

2018-09-28 12:41:00 1637

原创 二叉树中的最大路径和 解题报告

原题链接给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7]  -10   / \  9 ...

2018-09-28 00:45:46 2824

原创 498. 对角线遍历 解题报告

原题链接给定一个含有 M x N 个元素的矩阵(M行,N列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]解释:有类题属于直观上很好理解,但是写起来却不知如何下手。这题就属于此类。这道题好处是给了一个图...

2018-09-27 09:45:38 997

原创 使用javascript读写本地文件的方法

近期在全身心做毕业设计,我需要做的项目类似于迷宫搜索,为了显示算法运行时的效果,采用了javascript来写(使用canvas来画图)。其中一个功能是把js代码随机生成的迷宫保存到本地文件中,方便下次读取。一般来说,由于安全因素,javascript写文件到操作系统文件中是不推荐的,不还还是搜索到了一些方法,这里总结一下:【方法一】localStoragelocalStorage

2013-12-11 23:47:36 58912

原创 sqrt函数实现分析

看到一篇博文讲述sqrt的实现方法,其中二分法没有区分区间,当x位于(0,1)和(1, 正无穷) 时初始值设置应该有所区别const float eps=0.000001; // eps的值可能影响最后计算精度,甚至导致无限循环// 二分法,注意区分x的取值区间float SqrtByBisection(float x){ if(x<0) // 负数 return x;

2013-11-12 16:18:27 1466

原创 LinuxC编程一站式学习——堆栈

本科学习数据结构时实践比较少,因此最近开始复习,看到网站http://learn.akae.cn/media/ch12s03.html,既可以打基础,又可以顺便学习Linux的知识。第12章讲“堆栈”,第3节讲“深度优先算法”寻找路径迷宫。代码已经给出了,为了方便其他同学下载调试,我这里也附上:原始代码:#include #define MAX_ROW 5#define MAX

2012-08-07 16:26:29 983

原创 自然语言处理学习篇03——Language Models

本章介绍语言模型,包括如下内容:Introduction to N-gramsEstimating N-gram ProbabilitiesEvaluation and PerplexityGeneralization and ZerosSmoothing: Add-One Interpolation Good-Turing Smoothing Kneser-Ney Smoothing

2012-07-23 21:29:49 4528 1

原创 百度之星05-08年试题

2005年百度之星程序设计大赛试题初赛题目第一题(共四题 100 分):连续正整数( 10 分)题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。输入数据:一个正整数,以命令行参数的形式提供给程序。 输出数据:在标准

2012-07-17 15:16:57 1517 5

原创 排序算法05:归并排序

归并排序(MergeSort),本质是“分治算法”,包括“分”MergeSort和“合”Merge两个过程。#include "MergeSort.h"void Merge(int A[], int Start, int Mid, int End){ int n1 = Mid - Start + 1; int n2 = End - Mid; int *Left = (int*)ma

2012-07-10 15:09:47 688

原创 排序算法05:归并排序

归并排序(MergeSort)#include "MergeSort.h"void Merge(int A[], int Start, int Mid, int End){ int n1 = Mid - Start + 1; int n2 = End - Mid; int *Left = (int*)malloc(n1 * sizeof(int)); int *Right = (

2012-07-10 15:02:35 602

原创 排序算法03:希尔排序

希尔排序(ShellSort)#include "ShellSort.h"#include "Print.h"// 希尔排序,分组进行插入排序,最后一步仍然是插入排序,但是因为之前的操作使逆序数减少,所以相对单纯的插入排序效率高。void ShellSort(int A[], int N){ int i, j, Increment; int Tmp; for(Incremen

2012-07-10 14:59:54 920

原创 排序算法02:插入排序

插入排序(InsertionSort)时间复杂度O(N2)#include "InsertionSort.h"#include "Print.h"// 插入排序算法void InsertionSort(int A[], int N){ int j, P; int Tmp; for(P = 1; P < N; P++) // 每增加一个新的数,就依次与前面的数比较,插入到前面已经

2012-07-10 14:53:01 671

原创 排序算法01:选择排序

选择排序(SelectionSort)的时间复杂度O(N2)#include "SelectionSort.h"#include "Print.h"// 选择排序,时间复杂度为O(N2)void SelectionSort(int A[], int N){ int i, j, temp; for(i = 0; i < N; i++) { for(j = i + 1; j <

2012-07-10 14:46:04 634

原创 排序算法01:选择排序

SelectionSort选择排序,时间复杂度为O(N2)#include "SelectionSort.h"#include "Print.h"// 选择排序,时间复杂度为O(N2)void SelectionSort(int A[], int N){ int i, j, temp; for(i = 0; i < N; i++) { for(j = i + 1; j

2012-07-10 14:33:21 678

原创 排序算法00:准备工作

本篇并非是讲述具体的排序算法,而是做一些准备工作1. 生成10000个随机数,作为后续测试排序算法的数据源。 /* 生成10000个可重复的随机数,保存到文件中,并计算生成时间 */#include #include #include typedef long clock_t;void main(){ clock_t start_time = clock(); //

2012-07-10 14:20:36 750

原创 排序算法04:堆排序

最近复习《数据结构与算法分析》,发现其中堆排序算法不完整,因此写来看看。参考http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html#include #define N 10// 二叉堆中的元素个数为N,那么其中最后一个非叶节点为A[N/2 - 1],调整的时候需要从最后一个非叶节点开始交换int A[

2012-07-10 14:02:35 775

原创 排序算法——堆排序

#include #define N 10// 二叉堆中的元素个数为N,那么其中最后一个非叶节点为A[N/2 - 1],调整的时候需要从最后一个非叶节点开始交换int A[N] = {9,8,7,6,5,4,3,2,1,0};void Swap(int *X, int *Y){ int Tmp; Tmp = *X; *X = *Y; *Y = Tmp;}void Pri

2012-07-10 13:56:19 915

原创 自然语言处理学习篇02——Edit Distance

第二章 Edit Distance本篇内容将讲述Edit Distance(编辑距离的定义详见正文),具体又包含5个方面的内容:Defining Minimum Edit Distance Computing Minimum Edit DistanceBacktrace for Computing AlignmentsWeighted Minimum Edit Distan

2012-07-08 23:29:41 10412 6

原创 自然语言处理学习篇01——Basic Text Processing

前言:自然语言处理(Natural Language Processing——NLP)广泛应用于语音识别、机器翻译、自动问答等领域。早期的自然语言处理技术是基于“词性”和“语法”的,到了70年代走到了尽头,取而代之的是基于“数理统计”的方法。NLP的历史可以参考《数学之美》(吴军 著)一书。本系列跟随斯坦福Dan Jurafsky教授和Christopher Manning助理教授来学习N

2012-06-30 11:10:27 6979 5

空空如也

空空如也

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

TA关注的人

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