
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
常见问题:数据量大和数据量小都适合用快速排序吗?快速排序的时间复杂度不是稳定的nlogn,最坏情况会变成n^2,怎么解决复杂度恶化问题?快速排序递归实现时,怎么解决递归层次过深的问题?递归过深会引发什么问题?怎么控制递归深度?如果达到递归深度了还没排完序怎么办?并非所有容器都使用sort算法既然问的是STL的sort算法实现,那么先确认一个问题,哪些STL容器需要用到sort算法?首先,关系型容器
令牌环网:令牌环网(Token-ring network)常用于IBM系统中,其支持的速率为4Mbps和16Mbps两种。Novell、IBM LAN Server支持16MbpsIEEE802.5/令牌环网技术。在这种网络中,有一种专门的帧称为“令牌”,在环路上持续地传输来确定一个结点何时可以发送包。以太网:以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准
目录进程间通信的目的:常见的通信方式按通信类型区分详解3.1 管道(无名管道)3.2 命名管道3.3消息队列3.4 共享内存3.5信号量进程间通信的目的:1)数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。2)共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。3)通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们
STL其他内容解析:关于C++中STL的理解和应用deque容器的介绍Vector 容器是单向开口的连续内存空间,deque则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然,vector 容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,无法被接受。deque的操作图示deque 容器和 vector 容器最大的差异,一在于 deque 允
删除结点的步骤找到该结点的前一个结点进行删除操作。具体删除方式:我们假设要删除的节点是 i ,那我们只需要找到 i 的前驱 p , 然后让 p -> next =p -> next -> next,这样就跳过了 i 这个节点,自然也就实现了删除的目的。但是这个方法需要找到被删除节点的前驱,对于头结点(也就是第一个节点)来说, 他是没有前驱的,需要特殊处理。下面介绍的方法,第一种是
生成随机数需要rand() 和srand() 一起使用,其中 srand() 用来初始化随机数种子, rand() 用来产生随机数。rand函数--随机数发生器:用法:int x=rand(); 可以产生一个0~32767之间的随机数。生成一定范围的随机数:a + rand() % n;其中的 a 是起始值,n 是整数的范围。例如生成[a,b]之间的随机数,int x=a + rand()%(b-
作用:std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力。STL的map底层是用红黑树实现的,查找时间复杂度是log(n);常用函数:begin()返回指向map头部的迭代器clear()删除所有元素count()返回指定元素出现的次数empty()如果map为空则返回tr.
其他二叉树知识!二叉树知识汇总目录前提知识:约定:二叉树节点的存储结构:创建一个节点:建立二叉树的几种方法:一、已知先序遍历顺序,构建二叉树。(链式存储)二、已知层次遍历顺序,构建二叉树。(链式存储)三、已知节点关系,建立二叉树(邻接表存储)四、已知先序和中序遍历顺序,建立二叉树。前提知识:约定:约定二叉树的内容为int类型,并且都>=1,0代表是空节点。我们一般画的二叉树为图一,但是计算机
一般的,类的成员是私有成员(private)或者公有成员(public)。还可以用 protected 访问范围说明符修饰,从而成为“保护成员”。保护成员的可访问范围比私有成员大,比公有成员小。能访问私有成员的地方都能访问保护成员。保护成员扩大的访问范围表现在:基类的保护成员可以在派生类的成员函数中被访问。引入保护成员的理由是:基类的成员本来就是派生类的成员,因此对于那些出于隐藏的目的不宜设为公有
1.顺序存储结构二叉树的顺序存储,就是用一组连续的存储单元存放二叉树中的结点。因此,必须把二叉树的所有结点安排成为一个恰当的序列,结点在这个序列中的相互位置能反映出结点之间的逻辑关系,用编号的方法从树根起,自上层至下层,每层自左至右地给所有结点编号,缺点是有可能对存储空间造成极大的浪费,在最坏的情况下,一个深度为k且只有k个结点的右单支树需要2k-1个结点存储空间。依据二叉树的性质,完全二叉树和满