问题:
假设有这样一个拥有3个操作的队列:
1. EnQueue(v): 将v加入队列中
2. DeQueue(): 使队列中的队首元素删除并返回此元素
3. MaxElement: 返回队列中的最大元素
设计一种数据结构和算法,让MaxElement操作的时间复杂度尽可能地低。
思路:
(1)用两个栈设计一个新的数据类型(数据类型定义为MyStack),其中一个栈用来存...
分类:
其他好文 时间:
2015-08-21 00:21:47
阅读次数:
287
大约严格来说。本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的ArticleId=14124707" width="1" height="1" alt="">算法往往暗指数据结构和算法(比如算法导论指的实际上是数据结构和算法导论),所以我觉得本文题目是合理的。这篇文章讲...
分类:
编程语言 时间:
2015-08-19 22:37:29
阅读次数:
252
STL (Standard Template Library) 提供了一些常用的数据结构和算法的模板,1998年加入C++标准。 STL中有三个基本概念:
容器:容纳各种数据类型的数据结构,是一系列的类模板。迭代器:迭代器用来迭代地访问容器中的元素。算法:用来操作容器中的元素,是一系列的函数模板。
STL 容器
STL中的容器定义在std命名空间下,需要引入头文件 , , , ,...
分类:
编程语言 时间:
2015-08-19 13:35:09
阅读次数:
204
可见性级别
C++类提供了数据结构和算法的封装,以及相应的3种可见级别。它们定义了不同的可见性:
Public:当前类以及子类的方法中可见,外部可见。Protected:当前类以及子类的方法中可见,外部不可见。Private:当前类的方法中可见,外部不可见。
在一个对象的成员函数中,可以调用其他同类对象的私有方法。
多数现代的面向对象语言中,仅提供Private和Pub...
分类:
编程语言 时间:
2015-08-18 16:30:03
阅读次数:
107
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件...
分类:
编程语言 时间:
2015-08-15 19:57:02
阅读次数:
172
Trie树简介:又称字典树、前缀树、单词查找树或键树,是一种用于快速检索的树形结构,是一种哈希树的变种
用途:
1、字符串检索:实现将一些字符串的有关信息保存到trie树中,查找另外一些字符串是否出现过或者出现的频率
2、前缀匹配:匹配前缀
3、排序:tire树是一颗多叉树,只需先序遍历整棵树,输出相应的字符串便是按字典序排序的结果
4、作为其他数据结构和算法的辅助结构:ac自动机、后缀...
分类:
其他好文 时间:
2015-08-08 12:10:46
阅读次数:
273
题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶结点所经过的所有的结点形成一条路径。
如下图,输入二叉树和整数22,则打印出两条路径,第一条路径包含结点10,12,第二条路径包含的结点为10,5,7.
一般的数据结构和算法的教材都没有介绍树的路径,因此对大多数应聘者而言,这是一个新概念,也就很难一下子想出完整的解题思路。这个时候我们可以...
分类:
编程语言 时间:
2015-08-05 10:45:37
阅读次数:
2205
最近想回过头来看看以前写的一些代码,可叹为何刚进大学的时候不知道要养成写博客的好习惯。现在好多东西都没有做记录,后面也没再遇到相同的问题,忘的都差不多了。只能勉强整理了下面写的一些代码,这些代码有的有参考别人的代码,但都是自己曾经一点点敲的,挂出来,虽然很基础,但希望能对别人有帮助。链表链表是一种非...
分类:
编程语言 时间:
2015-08-02 00:57:02
阅读次数:
234
转自http://blog.sina.com.cn/s/blog_9f1c0931010180cy.htmlVectorsvector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的...
分类:
编程语言 时间:
2015-07-29 15:51:14
阅读次数:
186
上鲍恩描述了数据结构的线性结构,我们引入非线性结构本博客—树和二叉树。我想向大家介绍一些基本概念树,树遍历,然后介绍了二叉树的概念和特征。和二叉树遍历。叉树的对照,总结。 树为了描写叙述现实世界的层次结构,树结构中一个数据元素能够有两个或两个以上的直接后继元素。树的基本概念: 树的...
分类:
编程语言 时间:
2015-07-28 18:13:47
阅读次数:
148