![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
常识
splayx
这个作者很懒,什么都没留下…
展开
-
使用sort进行拓扑排序的比较函数
C++等语言自带的sort函数使用的排序算法基本都是快速排序,快速排序是一种不稳定的排序算法,也就是说两个相等的元素排序前后的相对位置是有可能变化的。在使用sort对一个有偏序关系的序列进行拓扑排序时,比较函数的设计要特别注意。例如我们对格点(x,y)进行排序,使得如果有x0 <= x1 而且 y0 <= y1时,(x0,y0)在(x1,y1)前面。 代码大致如下: c...2011-09-29 20:16:51 · 118 阅读 · 0 评论 -
同步/异步和阻塞/非阻塞
同步、异步:同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO完成的通知(异步的特点就是通知)阻塞、非阻塞:阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写...原创 2014-04-18 20:26:46 · 81 阅读 · 0 评论 -
各种协议
1、udp:iptable限制了output会导致sendto返回-1对端内核缓冲区满了,这端仍然可以发送数据,所以要控制包大小,避免数据丢失原创 2015-02-28 11:44:56 · 171 阅读 · 0 评论 -
win7共享热点
一、C:\Windows\system32>netsh wlan set hostednetwork mode=allow ssid=hello.co key=xxxxxxxx承载网络模式已设置为允许。已成功更改承载网络的 SSID。已成功更改托管网络的用户密钥密码。 这时会有一个虚拟网卡出来,命名为wifi_name二、选择一个可用的网络,在属性共享中选择...原创 2014-05-31 11:54:03 · 139 阅读 · 0 评论 -
little endian和big endian的区别
简单概要的说Endian表示数据在存储器中的存放顺序。内存、硬盘的最小存储单位是字节,一个字节有8个位。其他数据都是由若干个字节组成,所以我们有必要了解两种存放方式的不同。 google了两个图看一下大端(Big Endian)与小端(Little Endian)的区别。额。。这里竟然贴不了图。详见wiki吧http://en.wikipedia.org/wiki/Endian...原创 2012-11-30 20:41:18 · 82 阅读 · 0 评论 -
通过程序了解高速缓存
cpu进行运算之前会有一个步骤,就是把内存的数据把拿到高速缓存区(L1,L2,...)。一般说来,当访问内存的某个位置时,会把这个位置附近的数据也搬过去,跟硬盘到内存的pagecache相似。如果频繁命中这个高速缓存区,可以大大提高程序的运行速度。 所以如果用一个二元对表示一次运算(运行时刻,数据位置),将此二元序列关于时间排序,那么我们就应该让相邻二元对的数据位置尽可能接近...原创 2012-11-24 14:02:28 · 70 阅读 · 0 评论 -
关于树的复杂度分析
一棵树有N个结点,高度为d。size[i]表示子树i的大小,则sum{size} <= N * d当d不大时这个结论可以被利用。。原创 2012-04-13 21:28:43 · 711 阅读 · 0 评论 -
CPU的数据总线宽度与原子操作
今天在思考一个问题:两个线程访问一个变量A(初始化值是0),一个线程写(准备写的值是0xFF),一个线程读。在没有锁的情况下,读的线程有没有可能读到的值是0x0F或0xF0。 为什么有这么一个疑问,因为看到很多代码都是假设这个情况是不可能发生的。 最后在http://stackoverflow.com/questions/54188/are-c-reads-an...2013-03-27 21:01:54 · 640 阅读 · 0 评论 -
stl迭代器边界值的左++和左--
今天对stl中vector和set迭代器边界值的++和--做了些试验。也查看了一下源码。发现vector.begin()的值左--就会报错,原因是源码中有以判断如果是第一个元素时不可以进行这个操作,vector.end()的值左--却可以,最后的运算是地址值的--,set.begin()的值左--变成set.end()set.end()的值左--变成最后一个元素set....原创 2012-02-07 16:16:52 · 138 阅读 · 0 评论 -
linux新装系统
1、以下加入bashrcalias ls='ls --color' alias rm='rm -i' alias ll='ls -l' ...原创 2014-10-18 13:47:54 · 97 阅读 · 0 评论