自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SE_and_CS

Pango的计算机之路……

  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

转载 动态规划:从新手到专家

前言本文翻译自TopCoder上的一篇文章:Dynamic Programming: From novice to advanced,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。前言_我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。解决这类问题可以很大地提升你的能力与技巧,我会试着帮助你理解如何使用DP来解题。这篇文章是基于实例展开来讲的,因为

2015-06-04 22:14:29 494

转载 常见算法:C语言求最小公倍数和最大公约数三种算法

最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:① a%b得余数c② 若c=0,则b即为两数的最大公约数③ 若c

2015-06-03 14:25:35 773

转载 虚函数什么情况下会内联

转载自:http://blog.csdn.net/zy1691/article/details/3606128最近有个朋友研究了一下虚函数内联的问题,我也对这个问题产生了兴趣,发现网上也有好多讨论这个问题的,众说纷纭,于是花了点时间研究了一下。自己在vc下做了一些实验,通过观察各种情况下汇编代码,以及了一些资料的记载得出以下结论:虚函数是可以内联的据我所知有

2015-04-18 11:32:45 793

原创 TCP与UDP的区别

TCP(传输控制协议):1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用服务,是面向连接,端到端的传输;2)面向连接:正式通信前必须要与对方建立连接。事先为所发送的数据开辟出连接好的通道,然后再进行数据

2015-04-15 22:43:51 545

转载 c++函数返回引用

函数返回值和返回引用是不同的函数返回值时会产生一个临时变量作为函数返回值的副本,而返回引用时不会产生值的副本,既然是引用,那引用谁呢?这个问题必须清楚,否则将无法理解返回引用到底是个什么概念。以下是几种引用情况: 1,引用函数的参数,当然该参数也是一个引用      const string &shorterString(const string &s1,c

2015-04-15 22:27:59 441

转载 什么样的类需要编写拷贝构造函数

1-什么时候会用到拷贝构造函数? 2-什么时候有必要手动写拷贝构造函数?1-什么时候会用到拷贝构造函数?       任何你想利用一个已有的类实例给另一个类实例赋值时,这种赋值可能是显式的,也可能是隐式的显式:classa_1=class_2;隐式:函数的形参有用到类对象却没有用引用或传址技术时         函数的返回值是一个对象也没有应用传址技术时2-什么时候

2015-04-15 22:25:59 691

转载 拷贝构造函数和赋值函数的必要性和意义

引题:网上看到这篇佳文,忍不住收藏以飨读者,当然还有自己!呵呵....... 重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符。 以下讨论中将用到的例子: class CExample { public: CExample(){pBuffer=NULL; nSize=0;} ~CExample(){delete pBuffer;

2015-04-15 22:23:51 590

转载 C++虚函数及虚函数表解析

原文链接:http://www.keepsimply.org/2012/07/11/cpp-vtable/作者:独酌逸醉时间:2012.07.11声明:  本文内容由自互联网资源(见参考资料)、个人的一些 C++ 学习感悟、个人实践整理而成。文章仅以技术学习和交流为目的。如果您发现了文中的错误,或者您有的不同的见解,可以给我留言或者给我发邮件,我们共同探 讨。如果您

2015-04-15 19:29:05 394

原创 Substring with Concatenation of All Words

You are given a string, S, and a list of words, L, that are all of the same length. Find all starting indices of substring(s) in S that is a concatenation of each word in L exactly once and without

2015-04-15 15:06:04 533

原创 Divide Two Integers

Divide two integers without using multiplication, division and mod operator.If it is overflow, return MAX_INT.Tag: 二分求解,相当于每次除数都乘以2,注意考虑负数的情况和整数溢出的情况。int divide(int dividend, int divisor)

2015-04-15 15:02:33 416

原创 灯塔(LightHouse)

DescriptionAs shown in the following figure, If another lighthouse is in gray area, they can beacon each other.For example, in following figure, (B, R) is a pair of lighthouse which can beacon e

2015-04-11 17:40:49 1242

原创 二分查找

在有序向量v[lo,hi)中返回不大于e的最后一个元素的位置。若e若e>v[hi-1],则返回hi-1当向量中存在多个e时,返回最后一个e的位置。int binarySearch(int vec[], int e, int lo, int hi){ while(lo < hi) { int mid = (lo + hi) >> 1; (e < vec[mid]) ?

2015-04-11 14:35:50 584

原创 归并排序(数组)

数组的归并排序。void merge(int vec[], int lo, int mid, int hi);void mergeSort(int vec[], int lo, int hi){ if(hi - lo < 2) return; int mid = (lo + hi) >> 1; mergeSort(vec, lo, mid); mergeSort(vec, mid

2015-04-11 13:47:39 781

原创 冒泡排序(优化版本)

对于类似于(3,2,1,5,6,7)的序列,可以看出这个序列的后缀是已经有序的,所以在前一趟扫描后发现后缀有序,在下一次扫描时就忽略有序的后缀,而不是仅仅长度减一,这样就能避免无谓的扫描。代码如下:int bubble(int vec[], int lo, int hi);void bubbleSort(int vec[], int lo, int hi){ while(l

2015-04-11 11:31:59 429

原创 Implement strStr()

Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.Update (2014-11-02):The signature of the function had been updat

2015-04-10 22:37:42 437

原创 Merge Two Sorted Lists

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.Tag:两路归并struct ListNode { int val; ListNode *nex

2015-04-10 22:31:34 461

转载 6 Python Performance Tips

6 Python Performance TipsBy John Paul MuellerPosted in Tech Topics 21 January 2015 Python is such a cool language because you can do so much with it in such a short time with so little c

2015-02-20 13:18:03 677

转载 static变量的初始化,生存期,作用域

1、初始化。全局static变量的初始化在编译的时候进行。在main函数被调用之前初始化,并且,只初始化一次。函数static变量在函数中有效,第一次进入函数初始化。以后进入函数将沿用上一次的值。2、生存期。生存期,是main第一次执行,直到程序结束。比如下代码:#include #include int main() {

2015-02-16 22:02:11 1292

原创 Remove Element

Given an array and a value, remove all instances of that value in place and return the new length.The order of elements can be changed. It doesn't matter what you leave beyond the new length.

2015-02-16 21:18:29 511

原创 Remove Duplicates from Sorted Array

Given a sorted array, remove the duplicates in place such that each element appear onlyonce and return the new length.Do not allocate extra space for another array, you must do this in place w

2015-02-16 21:06:36 501

原创 Reverse Nodes in k-Group

Given a linked list, reverse the nodes of a linked listk at a time and return its modified list. If the number of nodes is not a multiple of k then left-out nodes in the end should remain as i

2015-02-15 23:15:32 483

原创 Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant spac

2015-02-14 00:41:39 437

原创 Merge k Sorted Lists

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.Tag:使用优先队列,时间复杂度为n*log(k),其中n为所有元素个数,k为已排好序的链表,如果k很小的话,实现复杂度近乎为线性。#include #include #include us

2015-02-13 23:13:22 516

原创 Generate Parentheses

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:"((()))", "(()())", "(())()", "()(())", "

2015-02-13 00:25:49 366

原创 Trie树

Trie树的解释参见:http://blog.csdn.net/hguisu/article/details/8131559下面是用C++实现的代码#ifndef TRIE_H#define TRIE_H#define TRIE_SIZE_DEF 128const int TRIE_SIZE = TRIE_SIZE_DEF;union NODE_TYPE{ COM

2015-01-29 01:01:53 463

原创 Huffman树(使用优先队列优化)

实现了使用队列进行优化的Huffman树。#include #include #include #include using namespace std;struct Node{ int val; struct Node * left; struct Node * right;};typedef struct Node * p_Node;stru

2015-01-27 20:06:31 744

原创 A串减去B串中的字符

A串减去B串中的字符,要求不生成新的字符串。定义两个指针i和j,i用于保存字符,j用于扫描字符。思想可以扩展到在字符串中去掉冗余空格等问题。void func(char *A, const char *B){ int i = 0, j = 0; set s; while(B[i] != '\0') s.insert(B[i++]);

2015-01-23 19:36:26 803

原创 二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。如下面的二维数组就是每行、每列都递增排序。1 2 8 92 4 9 124 7 10 136 8 11 15按照剑指offer上面作者的解答,有如下规律:首先选取数组右上角的数字。如果该数字等

2015-01-22 22:59:12 418

原创 赋值运算符函数

题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。

2015-01-22 00:34:58 434

原创 二叉树的遍历(递归与非递归)

前序遍历:操作顺序为:父节点 -> 左儿子 -> 右儿子递归版本struct node{ int data; struct node * left; struct node * right;};void preOrder(node *root){ if(root != NULL) { coutdata<<" ";

2015-01-12 20:15:01 436

转载 Google 面试题 第K小的数字 二分逼近&二分查找

题目描述: 给定两个整型数组A和B。我们将A和B中的元素两两相加可以得到数组C。譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6]。现在给你数组A和B,求由A和B两两相加得到的数组C中,第K小的数字。   输入:输入可能包含多个测试案例。对于每个测试案例,输入的第一行为三个整数m,n, k(1

2015-01-11 23:52:59 497

原创 最优化之共轭梯度法

共轭梯度法是利用目标函数的梯度逐步产生共轭方向并将其作为搜索方向的方法。1. 共轭方向与共轭方向法定义:设H是n*n方阵且对称正定。(1)若对n维非零向量p和q,有p^THq = 0,则称p和q是H-共轭的;(2)若对n维非零向量组d1,...,dm,对任意的i != j,di与dj是H-共轭的,则称d1,...,dm是H-共轭方程组。当H = I,p^Tq = 0,即

2014-12-31 00:12:57 3138

原创 数字在排序数组中出现的次数

题目:统计一个数字在排序数组中出现的次数。Tag:二分int findNumK(int *num, int n, int K){ if(n == 0 || num == NULL) return 0; int firstK, lastK; int mid; //findFirstK int l = 0, r = n - 1;

2014-12-30 23:17:31 467

原创 最优化之牛顿法

求解无约束现行规划问题的Newton法是利用目标函数的二次Taylor展开式构造搜索方向的方法,它是以为搜索中的Newton法的推广。考虑UNP,其中f(x)二阶连续可微。Newton法就是以Newton方向为搜索方向,以1为步长进行迭代的方法。算法如下:1. 初始步。给定初始点x,精度参数e > 0。2. 终止判断。若||▽f(x)|| 3. 构造搜索方向。令d = -

2014-12-30 20:15:05 2523

原创 最优化之最速下降法

求解无约束非线性规划问题:min f(x),其中 f: Rn -> R1具有连续偏导。最速下降法的思想是:沿着目标函数在当前迭代点处欧式范数意义下的最速下降方向即负梯度方向进行一维搜索,从而得到新的迭代点。当目标函数在迭代点处的梯度与零向量接近到一定程度时,该点可作为UNP的近似最优解。算法:1. 选定初始数据。给出初始点x,精度参数e > 0.2. 终止判断。求g = ▽f(x)

2014-12-30 19:09:41 4032

原创 Valid Parentheses

Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.The brackets must close in the correct order, "()" and "()[]{}" are all va

2014-12-23 23:10:33 348

原创 Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the

2014-12-23 23:07:53 390

转载 有关 list 内存释放的小技巧

用python也有一段时间了,有了不少体会。平时老写要求效率很高的程序,发现python真的很不错。但是对于超大list的数据,内存经常需要立即释放。我总结了一些有关性能的技巧,看看大家能不能用上。1。大数据量的list,要进行局部元素删除,尽量避免用del随机删除,非常影响性能,如果删除量很大,不如直接新建list,然后用下面的方法释放清空旧list。2。对于一般性数据量超大的l

2014-12-17 13:41:41 8437

转载 翻译:Getting Started With Python For Data Science

翻译:Getting Started With Python For Data Science原文链接:http://www.kaggle.com/wiki/GettingStartedWithPythonForDataScience这篇教程假设读者能够使用python编程,但并不需要数据科学,机器学习或预测模型的知识。在实践中学习是一种黑客品质。所有这篇教程中的代码都可以在g

2014-12-17 02:36:29 673

转载 realloc

1. realloc失败的时候,返回NULL2. realloc失败的时候,原来的内存不改变,也就是不free或不move,(这个地方很容易出错)3. 假如原来的内存后面还有足够多剩余内存的话,realloc的内存=原来的内存+剩余内存,realloc还是返回原来内存的地址; 假如原来的内存后面没有足够多剩余内存的话,realloc将申请新的内存,然后把原来的内存数据拷贝到新内存里

2014-12-15 21:09:21 390

OpenCL中文教程(AMD)

OpenCL中文教程(AMD),GPU编程

2012-12-08

[HTML5.Solutions:Essential.Techniques.f....pdf

[HTML5.Solutions:Essential.Techniques.f....pdf

2011-11-25

空空如也

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

TA关注的人

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