O(1)时间求栈中最小(大)元素

问题:对stack进行扩展,完成正常的push,pop操作,新增访问最小(大)元素的接口min(max),使得push,pop,Min的时间复杂度都是O(1)。 难点在于怎么维持stack的最小(大)值,一切排序和查找都不可能实现O(1)的时间复杂度找到最小值。 思路:如下图所示,以空间换取时...

2014-09-06 09:53:28

阅读数 968

评论数 0

链表面试笔试题目总结

链表是最基本的数据结构,凡是学计算机的必须的掌握的,在面试的时候经常被问到,关于链表的实现,百度一下就知道了。在此可以讨论一下与链表相关的练习题。 (1)在单链表上插入一个元素,要求时间复杂度为O(1) 解答:一般情况在链表中插入一元素是在末尾插入的,这样需要从头遍历一次链表,找到末尾,时间...

2014-08-30 22:04:33

阅读数 1310

评论数 2

Bitmap 海量数据处理

Bitmap: 说明:采用一个bit来标记某个value,可以大大节省存储空间。 优点是占用内存少,比如N为一亿(10000 0000),只需要N/8=1250 0000个byte,约等于12Mb。缺点为不能重复数据进行排序和查找   思想:利用一个byte中的8个bit来表示8个数。某数...

2014-08-28 20:12:02

阅读数 468

评论数 0

二叉查找树的概念以及实现 前序、中序和后序递归非递归遍历算法

本文主要介绍二叉查找树以及实现,另外实现前序、中序和后序递归非递归遍历算法。 二叉查找树: 概述:      《算法导论》第12章介绍了二叉查找树的主要性质。 二叉查找树(Binary Search Tree),也称二叉搜索树、有序二叉树(orderedbinary tree)...

2014-08-26 22:36:38

阅读数 1071

评论数 0

栈与队列的实现__ 两个栈实现队列 vs 两个队列实现栈

栈与队列的实现 两个栈实现队列   vs    两个队列实现栈   栈(stack)规定元素是先进后出(FILO),队列(queue)是先进先出(FIFO)。 栈的实现(数组) 实现 #include #include #include using namespace std;...

2014-08-22 22:43:34

阅读数 419

评论数 0

排序算法全攻略 1

虽然排序算法是一个简单的问题,但绝对是笔试面试的基础考点,重重之重。来个排序问题都没回答出来,留给面试官的印象也就那样了。 排序主要分为: 比较排序:快速排序、堆排序、归并排序、插入排序、希尔排序、选择排序、冒泡排序 非比较排序:基数排序、计数排序、桶排序 性能比较点: 时间复杂度:一般...

2014-08-21 22:59:42

阅读数 625

评论数 0

Linux进程间通信 IPC

IPC:Inter-process Communication 进程间通信   缘由: 1、数据传输:进程间有数据互相传输的需求 2、通知事件:一个进程需要向另一个或一组进程发送消息,通知某种事件的发生(如进程终止时要通知父进程)。 3、资源共享:多个进程之间共享同样的资源。对共享数据的...

2014-08-20 20:24:43

阅读数 429

评论数 0

TCP拥塞控制 2

解决传统TCP缺陷: 1、窗口太小,最大65535。 TCP利用了选项功能,其头部存在预留项,用于扩展等用途。窗口扩大选项增加了额外的16位来表示窗口大小,窗口的值由首部的16位大小和选项的16位值共同组成。 不过不是用加法组成的,而是利用移位窗口值的幂来表示的,也就是说如果移位窗口值为 1...

2014-08-19 11:45:33

阅读数 609

评论数 0

字符编码 ASCII UTF-8 UNICODE 的关系

豁然开朗,终于理顺了Unicode、utf-8等之间的关系,一直都是糊里糊涂的,知道今天看到了下面这篇文章! http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 弄计算机这一行,就必须懂得一点字符编码的知识。 ...

2014-08-18 22:11:21

阅读数 582

评论数 0

TCP拥塞控制 (1)

Basic:      TCP,传输控制协议,是目前网络中应用最广泛的传输协议。SMTP、SSH、FTP、HTTP等因特网底层协议均是TCP。      TCP面向连接,提供端到端的数据可靠传输。连接时三次握手,断开是四次挥手。具体表现为: 1、       TCP对传输的数据做了序号标记,...

2014-08-18 17:47:45

阅读数 758

评论数 0

socket 长连接与短连接

短连接  连接->传输数据->关闭连接  HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。  也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。     长连接  连接->传输数据->保持连...

2014-08-18 10:15:36

阅读数 557

评论数 0

页面置换算法

页面置换方法: 起源 操作系统给每个进程分配内存空间,即为每个进程分配多少个页框驻留进程。此时,分配到的页框称为驻留集。有两种方法:固定驻留策略和动态驻留策略。 固定驻留策略指为每个进程分配固定的页框数,不能增减,也不能使用别的进程的空间 动态驻留策略指在进程活跃期间,系统可以根据进程的缺...

2014-08-15 21:31:48

阅读数 569

评论数 0

散列函数(哈希函数,Hash Function)

说明          散列的概念属于查找,它不以关键字的比较为基本操作,采用直接寻址技术。在理想情况下,查找的期望时间为O(1)。 简单的说,hash函数就是把任意长的输入字符串变化成固定长的输出字符串的一种函数。输出字符串的长度称为hash函数的位数。(下图来源于维基百科) 散列函数把消...

2014-08-13 18:41:49

阅读数 15005

评论数 0

深入C++的拷贝构造和赋值函数 (深拷贝,浅拷贝)

参考了:点击打开链接以及《高质量程序设计指南C++/C语言》 说明 拷贝构造函数是一种特殊的构造函数。相同类型的类对象是通过拷贝构造函数来完成整个复制过程的。 函数的名称必须和类名称一致。 它的参数是唯一的,该参数是const类型的引用变量。例如 类X的拷贝构造函数的形式为X(X&a...

2014-08-13 11:54:39

阅读数 1893

评论数 0

线程与进程,以及两者的联系与区别。

以前的博客都随便写的,水平比较低。得端正态度了,好好写博客可以深化理解,顺便可以组织语言。 线程与进程,以及两者的联系与区别。 这一直以来都是互联网面试笔试的基础点。 一个程序至少有一个进程,一个进程至少有一个线程。 这是我在网上找的一篇帖子,形象地介绍了两者的的关联,相当不错(): h...

2014-08-12 12:12:59

阅读数 519

评论数 1

TCP vs UDP

Transmission Control Protocol (TCP) is a network transport Internet Protocol (IP) typically used for its bi-directional communications reliability. T...

2014-04-26 22:25:24

阅读数 563

评论数 0

UNIX study note(step1)

Source: UNIX Tutorial for Beginners http://www.ee.surrey.ac.uk/Teaching/Unix/   Key Point: Don't let go Useful source collection for linuxLearni...

2014-04-25 16:58:19

阅读数 444

评论数 0

ubuntu环境下vsftpd服务器的搭建 以几个重要问题的解决

ubuntu环境下vsftpd服务器的搭建 以及几个问题的解决 参考资料: http://wiki.ubuntu.org.cn/Vsftpd [分享]菜鸟简单建立FTP的方法- 查看主题• Ubuntu中文论坛.html windows下用FileZilla客户端登录...

2014-04-11 20:21:32

阅读数 706

评论数 0

Traceroute与Ping区别

1.Traceroute工具基本原理     Traceroute是探测网络端到端路由的小工具,它的实现主要利用了TCP/IP协议族中的两个特性:     1)路由器转发IP数据报时需要把TTL减1,当TTL减为0时路由器会向源端发送ICMP超时报文;     2)主机(或路由器)处理处理目...

2014-04-09 20:48:16

阅读数 3311

评论数 0

printk和printf的区别

内核使用printk()打印! 应用层使用printf()打印! &&& 大部分常用的C库函数在Linux内核中都已经得到了实现。在所有没有实现的函数中,最著名的就数printf()函数了。内核代码虽然无法调用 printf()函数,但它可以调用prin...

2014-04-08 12:24:55

阅读数 530

评论数 0

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