自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (6)
  • 收藏
  • 关注

原创 【数据结构与算法】Hash表

Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组、链表以及二叉排序树等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与表中存在的记录的关键字进行比较来进行查找。这个源于Hash表设计的特殊性,它采用了函数映射的思想将记录的存储位置与记录的关键字关联起来,从而能够很快速地进行查找。        Hash表的设计思想  对于一般的线性表,比如链

2015-09-26 11:18:12 739

原创 百度2016校园招聘:软件测试工程师

最后面的2题程序,官方建议时间70分钟:

2015-09-13 13:19:48 920

原创 【数据结构与算法】哈夫曼树

1. 哈夫曼树的基本概念    哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。    所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为:    WPL=(W1*L1+W2*L2+W3*L3+...+ Wn*Ln)    N个权值Wi(i=1,2,...n)构成一棵有N个

2015-09-12 16:00:33 1345

原创 【数据结构与算法】图

一、概念    定义: 图由点集合和边集合组成,记做G=(V,E),其中点集合不能为空且应该有穷,边集合可以为空。    ①有向图:边有方向,用表示    ②无向图:边没有方向,用(Vi,Vj)表示    ③完全图:每两个顶点之间都有连线,有向完全图的边有n(n+1)个;无向完全图有n(n+1)/2个边。    ④路径和回路:路径是指从一个点到另外一个点走过的路

2015-09-12 15:51:18 1331

原创 各类排序小结

——O(n*n)——①冒泡排序时间复杂度,最差、平均都是O(n*n),最好是O(n),空间复杂度 1,是一种稳定的排序②直接插入时间复杂度,最差、平均都是O(n*n),最好是O(n),空间复杂度 1,是一种稳定的排序③直接选择排序时间复杂度,最差、平均都是O(n*n),空间复杂度 1,是一种不稳定的排序——O(n*logn)——①快速排序时间复杂

2015-09-11 16:25:56 535

原创 【排序】希尔排序法

希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。        该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效

2015-09-11 15:54:14 715

原创 【排序】堆排序法

二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。下图展示一个最小堆:

2015-09-11 14:53:18 151

原创 【排序】归并排序法

分治的基本思想:是将原来的问题分解成若干个规模更小但结构与原问题想死的子问题,然后递归去解决这些子问题,最后将这些子问题的解的组合作为原问题的解。        首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。//将有序数组a[]和b[]合

2015-09-11 14:29:29 420

原创 【排序】直接选择排序

直接选择排序思想:先把0位置设置为索引,接着用index(索引)向后找最小的,  每一趟分别把最小的放在前面,然后和原来前面的数据交换位置。        时间复杂度:O(n*n)        代码:#include using namespace std;#define MAXN 100int a[MAXN + 1]; //全局变量存数组int main() {

2015-09-11 14:12:20 588

原创 【排序】插入排序法

插入排序(insertion sort)的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排序好的序列中,直到全部记录插入完成为止.       直接插入排序        基本思想        假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n].从i = 2起直到i = n 为止,依次将R[i]插入当前的有序区R[1

2015-09-11 14:02:09 1037

原创 【排序】冒泡排序法

冒泡排序法,是最简单的一种排序方法,从第一个位置开始与相邻位置比较,判断是否需要交换位子。        第一趟从第一个位置开始,直到最后一个位置,A[n-1],确定最大(以升序为例子)的数放在最后一位,A[n-1]        第二趟,继续从第一个位置开始,倒数第二位,A[n-2],确定倒数第二大的数在倒数第二位A[n-2]        ……        算法复杂度:冒泡排

2015-09-11 13:48:50 621

原创 【排序】快速排序法

分治的基本思想:是将原来的问题分解成若干个规模更小但结构与原问题想死的子问题,然后递归去解决这些子问题,最后将这些子问题的解的组合作为原问题的解。        快速排序的图解过程如下:代码:#include using namespace std;#define MAXN 100int a[MAXN + 1], n; //全局变量存数组void QuickSort(i

2015-09-11 13:36:15 745

原创 输入不定长度的整数的显示

说明:输入一行整数,数与数之间用空格隔开,换行符表示结束。注意:每次输入的整数数目不确定。样例输入:1 3 5 2 6 7 9换行(换行符表示结束)#include using namespace std;int main(){ int n=0,a[100]; int i=0; char ch=0; while(ch!= '\n')

2015-09-10 16:08:21 725

原创 【程序员面试宝典】RTTI与运算符重载

❀RTTI        RTTI(Run-Time Type Identification)是面向对象程序设计中一种重要的技术。现行的C++标准对RTTI已经有了明确的支持。不过在某些情况下出于特殊的开发需要,我们需要自己编码来实现。和很多其他语言一样,C++是一种静态类型语言。其数据类型是在编译期就确定的,不能在运行时更改。然而由于面向对象程序设计中多态性的要求,C++中的指针或引用(Re

2015-09-09 19:38:58 605

原创 【程序员面试宝典】检测并修改不合适的继承

面试例题1:如果鸟是可以飞的,那么鸵鸟是鸟么?鸵鸟如何继承鸟类?[美国某著名分析软件公司2005年面试题]解析:如果所有鸟都能飞,那鸵鸟就不是鸟!回答这种问题时,不要相信自己的直觉!将直觉和合适的继承联系起来还需要一段时间。        根据题干可以得知:鸟是可以飞的。也就是说,当鸟飞行时,它的高度是大于0的。鸵鸟是鸟类(生物学上)的一种。但它的飞行高度为0(鸵鸟不能飞)。

2015-09-09 15:36:22 660

原创 【生活杂想】谨言慎行

上午10点参加华为网络能源部门的宣讲,去之前知道这个部门是偏硬件方向,问了相关负责的同学,被告之也有软件相关的,便打印了简历匆匆去了。    因为算是开学的第一个宣讲会,参加的同学还是蛮多的,后面站了大概三排人,还好有熟人比我去的早,便蹭了半个凳子坐下。因为考虑到站着的人比较多,宣讲人很体谅的说,会讲的快一些,所以,原本原定2个小时讲完的宣讲,在1个小时之内讲完,只是,在最后环节的岗位介绍中,

2015-09-09 11:16:45 512

原创 STL中的模板介绍

详细文档下载:http://download.csdn.net/detail/haoxiaodao/9082557泛型编程就是一种通用编程技术,适用于不同类型的数据,STL就是一种典型的泛型编程,它包含容器和模板。容器的介绍在:http://blog.csdn.net/haoxiaodao/article/details/48244527这里主要介绍模板是什么?模板包含

2015-09-06 15:37:56 116

原创 STL中的所有容器资料

第一类容器(支持迭代器)❀序列容器Vector(随机迭代访问)【向量】说明:vector是一种动态数组,是基本数组的类模板。其内部定义了很多基本操作。#include 注意:头文件没有“.h”构造:vector v1; // 默认构造函数vector v2(init_size,0); //如果预先定义了:int init_size;他的成员值都被初始化为0;

2015-09-06 15:18:30 571

原创 c++的深拷贝和浅拷贝

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std; class CExample {private:  int a;public:  CExample(

2015-09-05 21:38:34 334

原创 简易火车票售票系统

#include #include using namespace std;#define maxsize 100int n;//全局站点总数int max=0,min=0;int ship[maxsize][maxsize]={0};//全局票数矩阵int maxnum(int a[]){ int i=0; int max=0; for(i=0;i<n;i++) {

2015-09-01 20:29:25 2058

原创 最佳路径

分析问题:创造结构体,包含三个量,存储源ID,目标ID,从源到目标的距离。根据输入建立邻接矩阵表,最后通过三重循环,找到最短距离矩阵表,最后按照给定的源和目的ID输出最短距离。代码:#include #include using namespace std;#define MAX 10000#define maxsize 100struct node{ int s;//源

2015-09-01 19:16:12 1214 1

原创 胜负猜想

分析问题:这一题其实本质上是求最大递增子序列长度的问题,比如213的最大递增子序列长度为2,则甲胜出(因为len-2=1,len是长度)2222的最大递增子序列长度为1,则假胜出(因为len-1=3,len是长度)而222则是乙胜出。代码:#include #include using namespace std;#define maxsize 100bool isdig(st

2015-09-01 17:14:01 432

原创 逆波兰表达式

逆波兰表达式又叫做后缀表达式。它的语法规定,表达式必须以逆波兰表达式的方式给出。正常的表达式 逆波兰表达式a+b ---> a,b,+a+(b-c) ---> a,b,c,-,+a+(b-c)*d ---> a,b,c,-,d,*,+a+d*(b-c)--->a,d,b,c,-,*,+a=1+3 ---> a=1,3 +(1-2)*(3+6)---> 1,2,-,3

2015-09-01 16:46:39 869

原创 火星计算器

大体来看,程序主要流程为这么几步 1. 将得到的字符串进行去空格处理。 2. 将第1步得到的字符串(此为中缀形式)转换为逆波兰式(后缀式) 3. 将第2步得到的逆波兰式(RPN)进行计算,求出结果并输出。代码:#include #include #include #include #include using namespace std;#define MAX

2015-09-01 15:19:58 713

原创 【循环列表】之魔术师的扑克牌问题

问题描述:在一次晚会上,一位魔术师掏出一叠扑克牌,取出其中13张黑桃,预先洗好后,把牌面朝下,对观众说:“我不看牌,只数一数就能知道每张牌是什么?”魔术师口中念一,将第一张牌翻过来看正好是A;魔术师将黑桃A放到桌上,继续数手里的余牌,第二次数1,2,将第一张牌放到这叠牌的下面,将第二张牌翻开,正好是黑桃2,也把它放在桌子上。第三次数1,2,3,前面二张牌放到这叠牌的下面,取出第三张牌,正好是黑

2015-09-01 10:48:29 1922 1

原创 【循环列表】之约瑟夫问题

约瑟夫问题:n个人围成一圈,从第一个开始报数1,报数到第m个的人将被杀掉,然后继续下一个人报数1,再次报数到m的人被杀掉,这样循环报数,最后剩下一个,其余人都将被杀掉。由n个人围城一圈,我们想到用循环列表解决问题历史来历:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也

2015-09-01 09:52:41 696

原创 【线性表】之链式存储结构

线性表有两种普遍的存储方式:顺序存储和链式存储。顺序存储的最大特点是简单,简单的读取操作方便,而其致命的缺点是当进行插入或删除操作时,需要移动大量的元素,耗费时间,而此缺点链式存储恰可以完美的解决。下面是链表一系列操作的代码,用户自定义函数主要包括:/*//创建一个链表_头插法√//创建一个链表_尾插法√//置空表√//求列表长度√//取得节点i位置的数值√

2015-09-01 09:28:51 507

C++程序设计

《C++程序设计》作者深入调查了我国大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了学习者在学习过程中遇到的困难,研究了初学者的认识规律。在本书中做到准确定位,合理取舍内容,设计了读者易于学习的教材体系,并且以通俗易懂的语言化解了许多复杂的概念,大大减少了初学者学习C++的困难。C++是近年来国内外广泛使用的现代计算机语言,它既支持面向过程的程序设计,也支持基于对象和面向对象的程序设计。国内许多高校已陆续开设了C++程序设计课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。, 考虑到许多读者在学习C++前未学过其他语言,本书把入门起点降低,读者不需要具备C语言的基础。本书包括14章,分为4篇:基本知识;面向过程的程序设计;基于对象的程序设计;面向对象的程序设计。本书内容全面,例题丰富,概念清晰,循序渐进,易于学习。, 《C++程序设计》是依据ANSI C++标准进行介绍的,引导读者从一开始就按标准C++的规定编程。本书配有两本辅导教材,即《C++程序设计题解与上机指导》和《C++编程实践指导》。, C++程序设计》是大学各专业学生学习C++的基础教材,也是适于初学者学习的教材。即使没有教师讲授,读者也能看懂本书的大部分内容。此书有谭浩强编写。

2017-12-01

STL模板与容器资料

STL模板与容器资料,容器包含vector,list,deque,set,stack等等,模板主要介绍了函数模板和类模板两种

2015-09-06

代码9.2blog

9.1号博客对应的代码,包括简易火车票售票系统,最佳路径,胜负猜想,逆波兰表达式等等

2015-09-01

混合高斯背景建模程序实现+说明

混合高斯背景建模程序实现+说明,有需要请到这篇微博: http://blog.csdn.net/haoxiaodao?viewmode=contents 中的《混合高斯背景建模(opecv)》

2014-09-29

特殊波形发生器

本资料仅提供一种产生特殊波形的方法,主要包含内容为用FPGA和DDS技术产生所需要的波形,有思路但没用具体代码。

2014-05-29

计算机软件技术基础试卷

计算机软件技术基础 计算机软件技术基础 计算机软件技术基础 计算机软件计算机软件技术基础技术基础 计算机软件技术基础

2010-12-25

空空如也

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

TA关注的人

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