
数据结构
u011822516
这个作者很懒,什么都没留下…
展开
-
使用vector 和map构造二维矩阵和二维表格
使用vector 和map构造二维矩阵和二维表格 众说周知,我们可以适应vector容器来构造二维数组.当然这样虽然会带来安全性的优势但是会带来效率上的低下.效率差异的主要原因便在于编译器对二维数组的优化.当然,在平日的编写过程中由于安全性的原因,我个人是比较倾向于使用. 关于二者效率的对比可以看下列网址 http://www.programfan.com/club/showpost.asp原创 2013-11-19 19:27:20 · 4759 阅读 · 0 评论 -
C++ stl库介绍一 vector
C++ stl库介绍一 vector 在这里我先假定读者具有一定的代码阅读量,起码可以和我处在同一档次上.因此看下面的部分代码,不需要我加注释. Vector是我最早接触的stl容器,最开始使用的使用,一直是当做数组的替代品使用,但是也以为vector是C++用包装好的数组,结果,后来发现在容器(container)中还有一类arra原创 2014-09-28 00:11:31 · 861 阅读 · 0 评论 -
中缀表达式生成二叉树并利用后缀表达式进行求值运算
这次是某人给的题目,题目不难,但是很复杂原创 2014-10-26 17:21:46 · 5802 阅读 · 0 评论 -
C++ stl之set容器
set容器,即集合容器原创 2014-11-23 16:50:41 · 518 阅读 · 0 评论 -
构造后缀树
后缀树是字符串匹配算法中一种重要的数据结构,同时使用这种数据结构可以完成许多关于字符串的算法.可是看了许多blog都没有说怎么构造,只有所谓的利用哈希来构造,在网上找到了这一篇译文,便转载过来,周末有时间写一个使用哈希表来构造后缀树的博客吧 后缀树 Fast String Searching With Suffix Trees 原著 Mark Nelso转载 2014-12-17 09:43:36 · 1023 阅读 · 0 评论 -
字符串匹配 sunday算法
原题:lintcode题目 字符串查找(又称查找子字符串),是字符串操作中一个很有用的函数。你的任务是实现这个函数。 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。 如果不存在,则返回 -1。 字符串匹配最常见的就是kmp算法,不过kmp算法对于我来说过于的复杂,我在原创 2015-10-09 10:57:05 · 565 阅读 · 0 评论 -
使用两个栈实现一个队列
其实这个方法也可以使用与使用两个队列实现一个栈,利用一个队列作为缓冲的方法 zt原文已知下面Stack类及其3个方法Push、Pop和 Count,请用2个Stack实现Queue类的入队(Enqueue)出队(Dequeue)方法。 class Stack { … public: void Push(int x); // Push an element转载 2015-10-28 00:20:21 · 474 阅读 · 0 评论 -
LintCode-寻找旋转排序数组中的最小值
问题:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转,输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素,例如数组{3,4,5,1,2}为数组{1,2,3,4,5}的一个旋转,该数组的最小值为1。 解题思路:一个递增数组经旋转后分为两部分,它们都是递增的数组,第一个子数组的第一个元素不小于第二个子数组的最后一个元素,我们要寻找的是第一个子数组最后一个元素的下一个元素或转载 2015-11-16 11:44:53 · 1288 阅读 · 0 评论 -
二叉树层次遍历
给定一棵二叉树,要求进行分层遍历,每层的节点值单独打印一行,下图给出事例结构: 对此二叉树遍历的结果应该是: 1, 2 , 3 4, 5, 6 7, 8 第一种方法,就是利用递归的方法,按层进行打印,我们把根节点当做第0层,之后层次依次增加,如果我们想打印第二层怎么办呢,利用递归的代码如下: [cpp] view plain转载 2015-12-25 09:59:46 · 564 阅读 · 0 评论