自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 普通函数和类成员函数const重载

函数参数的const重载只能重载引用型的,因为非引用的const和普通的非const参数一样。成员函数用const重载总共有三种方式,有三个地方可以写const,要注意const在不同的地方的意义。#include#include#includeusing namespace std;void fun(const int& i)//fun(10)这能用这个函数{ cout<<

2015-03-28 10:34:59 669

原创 矩阵连乘时最少乘法次数

可以用递归,就是速度慢些,也可以直接把递归改成自顶向下的动归,或者直接用自底向上的动归,都可以,不过这里只是为了计算14年阿里笔试的一道题,所以就直接写了个递归版本的。代码:#includeusing namespace std;int fun(int *A,int lo,int hi){ if(lo==hi) return 0; int q=INT_MAX; for(i

2015-03-26 20:53:24 3129

原创 用优先级队列实现霍夫曼编码

用优先级队列实现霍夫曼编码,采用贪心算法,每次从优先级队列中选取两个最小元素进行合并。注意用优先级队列时用的是小顶堆,采用仿函数做比较器,不能用函数指针来实现。代码如下:#include#includeusing namespace std;struct Node{ char c; int val; Node *lChild; Node *rChild; Node(

2015-03-24 16:52:07 1037

原创 最长上升子序列

思路:用动态规划+二分搜索进行#includeusing namespace std;//二分搜索,返回>=target的第一个数的下标int binarySearch(int *A,int N,int target){ int lo=0,hi=N-1; while(lo<=hi) { int mid=lo+((hi-lo)>>1); if(A[mid]<target)

2015-03-23 17:45:12 480

原创 二维数组传递参数

在堆上开辟二维数组,和在栈上开辟二维数组传递参数是可以不一样的,尤其对于字符串更是这样。#includeusing namespace std;void printf(char **b){ while(*b)//注意此处传入的b必须最后至少最后一组字符是'\0'否则会出错 cout<<*b++<<endl;}void print(char **b){ for(int i

2015-03-23 16:04:26 513

转载 作业、进程、线程

转自:http://blog.csdn.net/hguisu/article/details/19108031. 基本概念作业:用户在一次解决或是一个事务处理过程中要求计算机系统所做的工作的集合,它包括用户程序、所需要的数据集控制命令等。作业是由一系列有序的步骤组成的。作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。在执行一个作业可能会运行多个不同的进程。

2015-03-21 15:14:39 981

原创 程序、进程和作业的关系

程序与进程之间的区别:(1)进程更能真实地描述并发,而程序不能。(2)进程由程序和数据两部分组成,进程是竞争计算机系统有限资源的基本单位,也是进程处理机调度的基本单位。(3)程序是静态的概念;进程是程序在处理机上一次执行的过程,是动态的概念。(4)进程有生存周期,有诞生有消亡。是短暂的;而程序是相对长久的。(5)一个程序可以作为多个进程的运行程序;一个进程也可以运行多个程序。

2015-03-21 14:59:21 14501 1

转载 static的含义以及其在C/C++中的区别

转自:http://blog.csdn.net/yangcs2009/article/details/38359173static关键字是C, C++中都存在的关键字. 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同,本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数

2015-03-21 11:23:55 412

转载 设计一个Cache系统 【双向链表+哈希表】

转自:http://blog.csdn.net/yangcs2009/article/details/38351573今天去面试,面试官让我设计一个cache系统,要求保证最近使用的数据不能被移除出cache,也就是每次添加一个cache项的时候,把最旧的cache项移除出去。    我只记得操作系统里貌似有个差不多的cache算法,记不起名字来,更别提数据结构了。一开始我执着

2015-03-21 10:48:02 746

转载 用两个栈实现队列和用两个队列实现一个栈

转自:http://blog.chinaunix.net/uid-26448049-id-3048424.html1. 用两个堆栈实现一个队列。思路:对于insert,把数据插入到第一个堆栈中;      对于remove,如果第二个堆栈为空,把第一个堆栈的所有元素pop出来并放入第二个堆栈中,然后返回第二个堆栈的第一个元素。// implement Queue

2015-03-11 19:13:23 418

原创 B树、B+树和B*树

一、B树的查找是在内部节点进行的,节点处存放了节点的所有信息,即相当于存放的是一个Node。二、B+树的查找最终会在外部节点,或者称为叶子节点,而内部节点不存放Node,只存放Node的索引,最终能够在叶子节点处找到一个指向该Node的指针,从而结束查找。B+树的另一个特点是在叶子节点中存放的所有Node指针外,还存放有下一个Node的指针。这样就可以进行遍历,或者进行范围查找了。

2015-03-11 11:13:10 699

空空如也

空空如也

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

TA关注的人

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