
数据结构
yangcs2009
这个作者很懒,什么都没留下…
展开
-
经典面试题:设计包含min函数的栈,O(1)空间实现方法
题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。注:这是06年一道Google的面试题. 先来说个常规解和他的一个优化,常规解的时间复杂度符合要求,但需要线性的额外空间.常规解(参考 http://zhedahht.blog.163.com/blog/static/254111742007128952转载 2014-08-07 10:27:47 · 880 阅读 · 0 评论 -
list和vector有什么区别?
vector和数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取(即使用[]操作符访问其中的元素),但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝(复杂度是O(n)),另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。list是由数据结构中的双向链表实现的,因此它的内存空间转载 2014-08-07 15:00:24 · 917 阅读 · 0 评论 -
hash_set哈希集合容器
一、原理使用哈希表数据结构的关联容器。作为集合容器,它的元素不论几个分量,都视作一个单一数据类型,并不区分键值和映照数据,不允许插入重复数据。哈希函数是一个多对一的函数。http://blog.163.com/zhoumhan_0351/blog/static/39954227200910710324846SGI C++ STL哈希表采用链式结构,由表头和一系列单链组成;表头是转载 2014-08-11 13:29:36 · 1178 阅读 · 0 评论 -
教你透彻了解红黑树
作者:July、saturnman 2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees,Dagstuhl Workshop on Data Structures, Wadern, Germany, February, 2008,直接下载:http://www.cs转载 2014-08-02 20:49:31 · 886 阅读 · 0 评论 -
二叉树的常见问题及其解决程序
二叉树的常见问题有如下几个,如果解决好了,就跟链表一样轻松:唯一不一样的是,二叉树是非线性结构。常见的问题如下:二叉树的问题1.二叉树三种周游(traversal)方式:[cpp] view plaincopy二叉树的问题 1.二叉树三种周游(traversal)方式: 2.怎样从顶部开始逐层打印二叉树结点数据 3.如何判断一棵二叉树是否是平衡二叉树转载 2014-09-29 13:36:09 · 3694 阅读 · 0 评论 -
面试中的二叉树问题总结【Java版】
package Algorithms.tree;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Stack;/** * REFS: *转载 2014-10-16 13:42:11 · 5379 阅读 · 0 评论 -
找工作知识储备(3)---从头说12种排序算法:原理、图解、动画视频演示、代码以及笔试面试题目中的应用
0、前言 从这一部分开始直接切入我们计算机互联网笔试面试中的重头戏算法了,初始的想法是找一条主线,比如数据结构或者解题思路方法,将博主见过做过整理过的算法题逐个分析一遍(博主当年自己学算法就是用这种比较笨的刷题学的,囧),不过又想了想,算法这东西,博主自己学的过程中一直深感,基础还是非常重要的,很多难题是基础类数据结构和题目的思想综合发散而来。比如说作为最基本的排序算法就种类很多,而事...转载 2014-07-27 20:35:25 · 4194 阅读 · 0 评论