C++
文章平均质量分 72
p11323
燕山大学软件工程本科生一枚,酷爱算法和数据结构,追求速度,喜欢竞争
展开
-
it面试题-老鼠走迷宫变形体
个人简介:it男,算法爱好者学习者,男,目前在大公司实习,2015应届生题目:给出二维坐标图,其中一个正方形区域,一共有从(0,0)到(4,4)25个节点,但是(2,1)节点是不能通过的,问有没有一条路径从(0,0)出发,然后到达(4,4),不经过(2,1),其他的点必须经过还不能重复经过,每次只可以往上下左右四个方向走,不可以斜着走,不可以跳着走。算法:回溯法遍历,用栈实现,老鼠走迷宫的原创 2015-03-14 14:53:43 · 880 阅读 · 0 评论 -
算法之数列 Fibonacci
Fibonacci真言no games,no movies, but music. 引言no more words, just so these. I find a website from there.介绍Fibonacci wa原创 2014-01-15 16:01:33 · 1364 阅读 · 0 评论 -
算法之计算 整数乘法
整数乘法真言女朋友为了考驾照去找临时工作了,一天一百,过年不能回家了,心痛中。。。我一定要面试成功,为了我们未来的家。引言这年代女孩都为了自己奋斗了,男生呢?男生呢?每个大学还有多少男生在玩?在荒废?那世界上呢,唉。。。思路思路一原创 2014-01-17 08:49:06 · 1210 阅读 · 0 评论 -
算法之排序 排序第六篇 计数排序(count sort)
基数排序(radix sort)真言科技是第一生产力。引言快过年了,祝大家新年快乐,在过年期间,博客也会一直出新。思路radix sort很牛叉,以空间换时间时间复杂度O(n)空间复杂度O(max+n)max为要排序的数据中的最大值原创 2014-01-13 23:28:21 · 1516 阅读 · 0 评论 -
算法之旅 二叉树的小结
二叉树的小结真言最近正在总结学习过的算法,看到二叉树这一块,就总结总结一下吧。内容插入在二叉树中插入一个关键字,查找出要插入的位置新建节点,并插入// function:insert key into treetemplatevoid tree::_insert(btnode * *bt,T d){ if((*bt原创 2014-01-26 13:00:03 · 1049 阅读 · 0 评论 -
算法之计算 最大公共因子
最大公共因子真言相见不如怀念,怀念不如无线,科技推动发展。引言思考真的舒服,亢奋之后真的很累。一个精心设计的算法会让一切变得不同。思路求两个数的最大公共因子。算法如下实验代码tes原创 2014-01-18 18:31:40 · 1858 阅读 · 0 评论 -
面试题之剑指offer 二叉树转换成双向链表
二叉树转换成双向链表真言喝酒伤身,健康第一。题目将一棵二叉树转换成双向链表。思路递归解决思路:先将左子树转换成一个双向链表list1再将右子树转换成一个双向链表list2最后将list1+根节点+list2合成一个链表实验代原创 2014-02-02 14:35:38 · 1777 阅读 · 0 评论 -
算法之旅 直奔map
小学map真言继续吸收养分;总结map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。知识自动建立Key - value的对应。key 和 value可以是任意你需要的类型。根原创 2014-02-21 11:51:15 · 1042 阅读 · 0 评论 -
算法之旅 动态规划之车间调度问题
动态规划之车间调度问题真言哎呀,大家好。憋了我久了,终于回校了,回校以后真不想说我的大学了,你说我回来这么早来准备面试,你给供暖不行呀,暖气冰凉冰凉的,你想冻死学生呀,学生回来早点好找工作,找个世界500强也不是给你争脸麽。如果不是好好学习的同学,他会回校这么早么?你咋不知道好歹呢?还不如上班呢,呜呜呜。回到正题,代码一年前写的,自己感觉真烂,各种不满意,注释,异常,优原创 2014-02-14 22:28:17 · 10635 阅读 · 0 评论 -
算法之旅,直奔pair
pair(vs2010版本,其他的版本没试)真言农村空气真好。在家起的真晚,昨天爷爷过生日,happy birthday,grandfather。pair有时候我们需要写程序,但是要返回两个值,我们怎么办呢?设置多个参数,并址传递,把要保存的结果保存在变量里声明并定义一个类,把多个变量封原创 2014-01-21 09:36:32 · 1171 阅读 · 0 评论 -
面试题之陈利人 两个数组中求第k小元素
两个数组中求第k小数真言幸福的人生是不存在的,什么叫幸福?不完美的完美就是幸福。引言陈利人先生的题目很有思考性,很喜欢。题目给两个同样长度排好序的数组,找出第k个最小的数。思路思路很清晰,借鉴与折半查找,不断减小查找范围。举个例子吧,实验原创 2014-01-12 18:23:09 · 1905 阅读 · 0 评论 -
算法之旅,直奔<bitset>之四 set
set(vs2010)引言这是我学习总结的第四篇。set对位操作相当使用。作用set 的作用是给指定位重置。原型 实验对于set集 00000集合执行set操作 11111也可以对单个位置 0 或 1 代码test.cpp#include // std::cout#in原创 2013-12-24 14:12:46 · 1082 阅读 · 0 评论 -
算法之排序----排序之第五篇 插入排序
插入排序真言付出才会有收获,不播种何来的粮食。我是一个地地道道的写程序的农民。引言计划很重要,推崇一个软件给大家,BaPim。思路每次在排好序的数据集合中,插入一个数据,并放入到合适位置,使之有序。直至所有数据都有序即可。时间复杂度O(n*n)空间复杂度O(1)举个例子,看图如下原创 2014-01-08 09:17:45 · 988 阅读 · 0 评论 -
算法之旅,直奔<bitset>之六 none
none(vs2010)真言只有不断找寻机会的人才会及时把握机会。引言这是我学习总结的第六篇,none是一个判断函数,调试的时候用的比较多。作用none 的作用是检测位集合的所有数据是否都为0,返回值为bool类型。实验 代码test.cpp#include // std::cin, s原创 2013-12-25 09:21:13 · 1181 阅读 · 0 评论 -
算法之旅,直奔<bitset>之七 to_ulong
to_ulong(vs2010)真言千万别迷恋网络游戏,要玩就玩好人生这场大游戏。引言这是我学习总结的第七篇,to_ulong在感官上和to_string有些类似哈,所以学习的时候多观察。。。作用to_ulong的作用是二进制的数转换成是十进制的(无符号)长整型数实验 代码test.cpp#include原创 2013-12-25 09:37:03 · 2550 阅读 · 0 评论 -
算法之旅,直奔<bitset>之三 test
test(vs2010)引言这是我学习总结的第三篇。test在位运算中显得极其重要。作用test 的作用就是检测当前指定位是否为1.原型bool test (size_t pos) const;实验对于一个bitset 01011 代码test.cpp#include // std原创 2013-12-24 14:00:18 · 1386 阅读 · 0 评论 -
面试题之编程之美 求一个整数中二进制数1的个数
求一个整数中二进制数1的个数真言Study hard and you will get what you want.引言Everyone has his or her problems, just solve them.题目(此题目和编程之美的题目还是不一样的)思路原创 2014-01-09 08:00:27 · 1372 阅读 · 0 评论 -
算法之旅,直奔<bitset>之八 flip
flip(vs2010)真言好好管教自己,不要管别人。引言这是我学习总结的第八篇,flip这个颠覆性的操作会让你颠覆。。。作用flip 的作用是颠覆位集合的数据,也就是取反。实验0001 颠覆第二位后,如下0101颠覆所有位,如下1010代码test.cpp#include // std::cou原创 2013-12-25 14:09:07 · 1310 阅读 · 0 评论 -
算法之排序-----排序第一篇 快速排序
快速排序算法介绍 排序是所有算法里比较基本的算法了,并且非常简单。那么我为什么还要自己再写一遍呢?我觉得知识是大家的,只有你掌握了,这个知识才属于你,才能为你所用。所以接下来,我要连续的将所有的算法都做成博文。其目的,一是总结知识,提高自己;二是为大家共享知识,经验。希望大家督促并给予支持。算法介绍快速排序是七中排序算法里比较常用的算法.分治法的基本原创 2013-12-13 10:23:07 · 2148 阅读 · 5 评论 -
算法之旅,直奔排序 基数排序
基数排序(radix sort)真言宿舍很冷,但是为了将来,什么苦都得忍着,忍方可成大事。主题给一堆相同具有相同位数的数排序。这些数有一个共同的特点具有相同的位数。思路举个例子呗,例子最好理解了。比如有如下数据,{329,457,657,8原创 2014-02-15 17:08:39 · 1207 阅读 · 0 评论 -
算法之旅 直奔贪心
活动选择问题引言三月份开始了,各种笔试面试接踵而至,淡定淡定呀。。。题目给出一组活动,其中每个活动都有一个开始时间和一个结束。给你一个总的时间区间,然后可以容纳的最多的活动组合。(选自算法圣经)思路本题目是贪心的例题1,切记贪心的答案不一定是最优的。本题目的解法使用贪心,缩小问题的规原创 2014-03-02 10:51:54 · 1139 阅读 · 0 评论 -
算法之旅 快速排序 速度超过库函数,挑战 stl
快速排序之续个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:google搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:快速排序之续;博客时间:2014-4-9编程语言:C++ 编程坏境:Windows 7 专业版 x64编程工具:vs2008 32位编译器 引言每次做题都有不同的感原创 2014-04-09 13:43:55 · 1606 阅读 · 2 评论 -
stl prior_queue 插入bug
最近在使用prior_queue实现图的Dijkstra算法和Prim,发现老是插入有bug,仔细研习之后突然发现有两点需要注意1.如果优先队列里放的是自定义的类,在用重载比较符的时候要严格定义:if (a then ( a==b ) is false;2.如果在不插入或者删除队列中节点的时候,却要修改某个节点中key的值,切记不可以直接修改其 key解决方案1:全部出队,修改原创 2014-09-24 19:32:15 · 920 阅读 · 0 评论 -
C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序转载 2014-11-12 06:50:26 · 660 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)转载 2014-11-12 07:42:47 · 644 阅读 · 0 评论 -
C++ 多线程
#include #include using namespace std; DWORD WINAPI Fun(LPVOID lpParamter) { while(1) { cout<<"1"<<endl; } } int main() { HANDLE hThread = CreateThread(NULL, 0, Fu原创 2014-11-15 17:44:23 · 615 阅读 · 0 评论 -
STL中vector、list、deque和map的区别
1 vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存转载 2014-11-16 22:13:34 · 818 阅读 · 0 评论 -
C++类型转换总结
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。const_cast,字面上理解就是去const属性。static_cast,命名上理解是静态类型转换。如int转换成char。dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多转载 2014-11-17 12:56:24 · 531 阅读 · 0 评论 -
c++ 库
1. c++ 大数据整数处理#ifndef _BIG_DATA_STRING_H#define _BIG_DATA_STRING_H#include#include #include#includeusing namespace std;// FUNCTION: deal big number for int overflow mainly// 类中函数说明:每个函数原创 2014-12-05 11:31:50 · 744 阅读 · 0 评论 -
学习堆小结
学习堆小结个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:百度搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:数据结构里的堆(大顶堆或小顶堆;知识选自:个人对堆长时间的理解和应用,故总结与此; 引言学过堆排序以后,但是一直没对堆没有认真的总结过,知识点很散,理解不够深刻,相信这一原创 2014-03-23 23:21:57 · 1198 阅读 · 0 评论 -
笔试题之二进制输出两数相加
面试题之二进制输出两数相加个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:google搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:面试题之二进制输出两数相加;博客时间:2014-4-1编程语言:C++编程坏境:Windows编程工具:vs2008 引言超越永无止境原创 2014-04-02 11:30:30 · 2708 阅读 · 0 评论 -
字符串处理大数据小结
字符串处理大数据小结 个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:google搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:字符串处理大数据小结;博客时间:2014-3-27编程语言:C++编程坏境:Windows编程工具:vs2008 引言今天本想做题的,原创 2014-03-27 20:56:14 · 2058 阅读 · 0 评论 -
笔试题之 ip 快速查找
笔试题之去哪:ip快速查找个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:google搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:笔试题之去哪:ip快速查找;博客时间:2014-3-29编程语言:C++编程坏境:Windows编程工具:vs2008 引言突然发原创 2014-03-30 22:57:11 · 2831 阅读 · 0 评论 -
笔试题之 ip 快速查找之续
笔试题之 ip 快速查找之续个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:google搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:笔试题之去哪:ip快速查找;博客时间:2014-3-31编程语言:C++编程坏境:Windows编程工具:vs2008 引言请先阅读上一篇博原创 2014-03-31 08:38:57 · 1697 阅读 · 0 评论 -
英雄会第四届在线编程大赛·线上初赛:带通配符的数
英雄会第四届在线编程大赛·线上初赛:带通配符的数个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:百度搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:杨氏矩阵搜索算法;知识选自:面试题;博客时间:2014-3-25;博客说明:转载请注明本博客,请不要像红黑联盟那样出现这种情况,转载本人博客不注明本人就算了原创 2014-03-25 17:45:48 · 1487 阅读 · 0 评论 -
笔试题之sqrt函数重写
sqrt函数重写加扩张个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:google搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:笔试题之sqrt函数重写;博客时间:2014-4-1编程语言:C++编程坏境:Windows编程工具:vs2008 引言课很多,还得准备笔试面原创 2014-04-01 16:39:09 · 1494 阅读 · 0 评论 -
笔试题之sqrt函数重写 之续
笔试题之sqrt函数重写 之续个人信息:就读于燕大本科软件工程专业 目前大三;本人博客:google搜索“cqs_2012”即可;个人爱好:酷爱数据结构和算法,希望将来搞科研为人民作出自己的贡献;博客内容:笔试题之sqrt函数重写;博客时间:2014-4-1编程语言:C++编程坏境:Windows编程工具:vs2008 引言超越永原创 2014-04-01 17:58:10 · 1531 阅读 · 0 评论 -
面试题之重构二叉树
重构二叉树引言好久没写代码了,手有点生了。。。博客如有不好之处,还请指出,谢谢大家一直对我的关注。相信自己,相信未来。有句话说得好,不怕贼偷就怕贼惦记,举一反三,人生中的种种问题也是如此,不怕我们解决,就怕我们一直惦记着它。愿我们各种前进,各种加油。题目知道二叉树中序遍历和先序遍历的结果,然后重构二叉树。思路原创 2014-03-22 21:05:09 · 1343 阅读 · 0 评论 -
算法之旅,直奔<bitset>之五 count
count(vs2010)引言这是我学习总结的第四篇。有时候我们需要计算位集合中1或0的个数,count来帮助你。作用count的作用计算位集合中1或0的个数。实验 代码test.cpp#include // std::cout#include // std::string#in原创 2013-12-24 16:00:52 · 2377 阅读 · 0 评论 -
算法之旅,直奔<algorithm>之十一 equal
equal(vs2010)引言这是我学习总结的第十一篇,equal功能还是蛮强大的,正如你理解的一样。作用equal的作用是检测一段连续地址的数据是否和另一段连续地址的数据是否一样。当然也可以自定义比较的条件,例如相差n等等。In English,that is toTest whether the elements in two ranges原创 2013-12-16 11:40:29 · 1066 阅读 · 0 评论