自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

乞力马扎罗的雪CYF的博客

与您分享IT技术,实现共同进步。

  • 博客(15)
  • 资源 (28)
  • 收藏
  • 关注

原创 C++ STL学习——queue

我们在上一篇博客中《C++ STL学习——stack》简单介绍了STL 中stack这种数据结构的使用,这篇博客主要来讲一下queue队列的使用。其实queue的使用和stack一样简单。示例代码上传至 https://github.com/chenyufeng1991/STL_queue 。(1)首先要引入头文件  #include . 并使用命名空间  using namespace std

2016-08-23 00:08:23 3762

原创 C++ STL学习——stack

栈是最为常用的数据结构了,很多算法都是依靠栈来实现的,比如递归。我们要手动来实现栈,显得十分繁琐和麻烦,而且复用性不好。C++ 的STL中已经帮我们封装好了栈,我们只要方便的进行调用即可。该篇博客主要介绍STL 中stack的使用,stack应该说是STL中最简单的容器了。实例代码上传至  https://github.com/chenyufeng1991/STL_stack 。(1)首先引入头文

2016-08-22 23:50:45 3079

原创 C++ STL学习——list

如果由我们自己来实现一个链表,会写上不少代码,包括要实现创建、删除、插入等等操作。但是如果我们用了STL,那么该模板库就为我们提供了一个双向链表list,可以让我们非常方便的实现链表操作。要使用list,首先要引入头文件 #include  .相关的示例代码上传至  https://github.com/chenyufeng1991/STL_list 。(1)创建list list lis

2016-08-22 00:00:56 2493

原创 C++ STL学习——vector

学过C++的人肯定会很熟悉STL标准模板库,STL其实就是封装了一系列的接口,供我们调用。很多函数或者算法的实现不需要我们从头开始写,大大提高我们的编程效率。这篇博客在简单介绍STL的情况下,会详细的来介绍vector的使用。     STL共有六大组件:一。容器(Container):是一种数据结构,如list,vector,deque,queue等,以模板类的方法提供,为了访问容器中的数据,可

2016-08-21 21:45:08 3995

原创 经典算法学习——打印两个链表的第一个公共节点

求链表的公共节点是一道很经典的算法题,并不是很难。我们需要知道的是,一旦两个链表有一个公共节点的话,那么这两个链表的形状就是一个“Y”型。也就是说,自公共节点之后的所有节点都是一样的。如下:其实只要看了这幅图,实现就很简单了。首先我们分别遍历两个链表,分别得出他们的长度L1,L2。然后在查找公共节点时,先在长的那个链表中走|L1-L2|步,然后两个链表同时向后进行同步遍历,每走一步时,就判断后面那

2016-08-21 20:24:43 2057

原创 经典算法学习——第一个只出现一次的字符

这同样是剑指Offer中的很经典的一道面试题。题目描述为:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'.  一开始大家就会想到最简单的方法就是每访问到一个字符的时候,与后面的每一个字符去进行比较,若没有发现相同的元素,那么该元素就是第一个只出现一次的字符。这样的复杂度为O(n^2).   显然这样的效率不高。       这道题的大方向就是一题查找算法,常见的查

2016-08-21 19:58:06 2321

原创 经典算法学习——合并两个有序链表

类似的,合并两个有序的数组或者链表也是剑指Offer中的经典题型。题目描述如下:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增排序的。我这里以合并链表来实现。       在这里,并不需要去创建一个新的链表,只要有三个节点指针就行,第一个节点指针Node1指向第一个链表,第二个节点指针Node2指向第二个链表,第三个节点指针Node3指向新的链表。简单的示意图如下:当下一个

2016-08-21 16:59:45 2692

原创 经典算法学习——链表中倒数第k个节点

这是剑指Offer中非常经典的一道题,也是在面试笔试中高频出现。题目的详细描述如下:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,从1开始计数,即链表的尾结点是倒数第一个节点。       本题有一个非常直观的解法,就是对链表扫描两遍,第一遍用来记录链表长度为n,第二次从链表头部走(n-k+1)步后,找到的那个节点就是倒数第k个节点。这种算法的问题就是需要扫描链表两遍,显得不是

2016-08-21 16:30:54 2033

原创 经典算法学习——在O(1)时间删除链表节点

这道算法题同样是剑指Offer中的一道题,题目描述为:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。其实我们知道,想要在单向链表中找到某个节点并删除它,复杂度为O(n),因为必须从头遍历才能找到它(最重要的是因为要找到它的前一个节点。)所以想要O(1)完成,必须想其他的方法。      目前重要的一个信息就是已经有一个节点指针指向当前要删除的节点。这就比较好办了。我们

2016-08-21 13:26:54 2007

原创 C++ STL学习——string

当我们一开始使用C语言来处理字符串的时候,会感觉非常的麻烦。C语言中缺少相应的字符串处理函数,如果想要实现某个字符串功能,只能靠我们自己来实现。但是当来到C++中,字符串的处理就会变得异常简单。今天我们就来学习一下C++中最高频的字符串处理函数。示例代码上传至:https://github.com/chenyufeng1991/CppString。      首先要引入C++中的字符串头文件:#i

2016-08-21 11:37:53 2997

原创 经典算法学习——逆转链表

链表在数据结构中是一种非常重要的线性数据结构,也是各类面试笔试中常常涉及的问题。其中最常见的一个问题就是“输入一个链表的头结点,从尾到头反过来打印出每个节点的值”,简单说就是逆转链表。当然,有人会发现,这其实就是剑指Offer中的一道题。这道题的实现我已经上传至  https://github.com/chenyufeng1991/ReverseLinkedList_Stack 。      这道

2016-08-07 16:51:41 4982

原创 经典算法学习——最小的k个数

经常面试的同学可能会遇到这个问题,即输出数组中的最小的k个数。同样的,这也是剑指Offer上面的一道题。这道题最简单的思路莫过于把输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数。这样实现的复杂度为O(nlogn)。如果大家看了上一篇博客《经典算法学习——数组中出现次数超过一半的数字》后,其实会发现两道题的思路是一样的,也就是要找到一个index值,它的前面都比它小,后面的都比它大。

2016-08-06 20:27:24 2071

原创 经典算法学习——数组中出现次数超过一半的数字

首先这道算法题并不是很难,看过剑指Offer的同学都知道这是里面的一道题。在各大公司的面试中也是经常被用到的,今天我们就采用最常规的方法来实现一下。       首先有人会想到,如果能把数组排序后,那么中间的那个数字就是超过一半的那个数字了(如果存在的话)。当然排序较快的复杂度为O(nlogn).这种方法完全可以实现,但未必是最好的。       因此,面试中最常规的解法就是使用快速排序中的Par

2016-08-06 17:31:17 2319

原创 经典算法学习——斐波那契数列

在我们学习算法的过程中,斐波那契数列肯定是会碰到的一个东西,其实我们并不是为了学习一个简单的数列,更重要的是学习他的思想——递归。个人觉得递归是解决很多算法问题最高频的方法了。递归最简单的描述就是一个函数自己调用自己,达到一个条件的时候,递归结束。比如我们在以下场景常常用递归:快速排序、归并排序、二叉树的多种遍历方法等等。对于C语言实现斐波那契数列的代码已经上传至 https://github.c

2016-08-06 14:34:59 2773

原创 经典算法学习——二分查找

在所有的查找算法中,二分查找是最简单一种。二分查找要求原先的序列是已经排序的,每次都是以序列中间的数字作为比较,如果小于中间的数字,那么就在序列左边继续递归查找;如果大于中间的数字,那么就在序列右边继续递归查找。直到找到该数字,或者直到序列中只有一个数字的时候都还没找到,则查找失败。查找的时间复杂度可以达到O(logN),应该说是除了数组按下标查找O(1)以外的最快的查找方式了。示例代码上传至 h

2016-08-06 13:47:32 2145

计算机专业外语

这是自己整理的计算机专业外语的词汇和缩略词。

2014-06-22

语法分析报告

该程序实现了对源程序的语法分析,进行自顶向下的LL(1)分析。

2014-06-22

软工UML试题

这是软件工程专业2010 2011年的UML考试例题

2014-06-22

西科大09年uml试卷

2009 2010年西科大的UML考试的复习例题 必做

2014-06-22

词法分析报告

这是编译程序的第一步,要进行词法分析程序。这是一份报告。

2014-06-22

编译原理概念整理

这是自己一学期的编译书本概念整理。这就不用去看形式化的书本内容了。

2014-06-22

UML考试简答

UML的复习资源,上面有西科大最近几年的UML考试简答题资料。

2014-06-22

数据挖掘试卷

数据挖掘和数据仓库,各种算法。做本套试卷可以帮你顺利考试。

2014-06-22

软件项目管理试卷

软件项目管理,我们用的书是韩万江的。试卷有很大的价值

2014-06-22

编译原理试题

这是自己整理的编译原理试卷。种类丰富。难度不同。

2014-06-22

uml复习试卷

这是自己收集的UML期末考试试卷,会有不少原题。

2014-06-22

Linux期末试卷

这是自己收集的各个学校的Linux期末试卷,有比较大的参考性。

2014-06-22

UML期末复习

这是软件建模与UML期末复习资料,简化了书本内容。

2014-06-22

编译原理期末复习

这是自己整理的编译原理期末复习资源,可以帮你考得高分。

2014-06-22

期末Linux复习资料整理

这是自己整理的Linux期末复习整理资源 可以帮你顺利考的高分

2014-06-22

ActiveX程序

使用用C++技术开发的ActiveX小程序。

2014-06-03

操作系统。

操作系统复习资料,是我自己整理的。供大家学习。

2014-06-03

java注释模板

这是关于使用java开发工具中要用到的模板,有助于你开发出好的程序。

2014-06-03

俄罗斯方块

这是关于俄罗斯方块的代码。基本实现游戏功能,来给大家共享下。

2014-06-03

课程设计 字符串

这是大一时写的C++代码,共享给大家,是关于C++的总结。

2014-06-03

字符串代码

这是我的课程设计作业,来给大家分享,是关于字符串的操作。

2014-06-03

C++第一章幻灯片

一维非常敬业的老师制作的C++PPT。欢迎大家来下载。

2013-07-03

空空如也

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

TA关注的人

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