<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[markcnsc的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/markcnsc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; markcnsc]]></copyright><item><title><![CDATA[树和二叉树5——树型查找II——AVL]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8570233</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8570233</guid><author>markcnsc</author><pubDate>Mon, 04 Feb 2013 22:03:12 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请注明原始链接：http://blog.youkuaiyun.com/markcnsc/article/details/8570233）

1. 图解4种分形
1.1 LL


1.2. RR


1.3. LR


1.4. RL




2. 插入和删除算法
#include 
#include 

typedef struct _BBST {]]></description><category></category></item><item><title><![CDATA[树和二叉树5——树型查找I——BST]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8568822</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8568822</guid><author>markcnsc</author><pubDate>Mon, 04 Feb 2013 16:01:14 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请注明原始链接：http://blog.youkuaiyun.com/markcnsc/article/details/8568822）
二叉搜索树（BST），平衡二叉树（AVL），红黑树，B*树和Tre树。
二叉搜索树（BST）
1. 定义
左子树上任意的值Kl 
2. 性质
中序遍历BST，可得二叉树所有结点的值的非降序排列。
3. 操作
3.1. 声明
typed]]></description><category></category></item><item><title><![CDATA[树和二叉树4——前驱和后继]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8566466</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8566466</guid><author>markcnsc</author><pubDate>Sun, 03 Feb 2013 12:10:04 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请注明原始链接：http://blog.youkuaiyun.com/markcnsc/article/details/8566466）
1. 前提
二叉树的几何结构和遍历路径，是查找前驱和后继的基础。
2. 结点分类
几何结构千变万化，但单个结点必然和至多3点邻接：左（或右）父，左子和右子。按照“X”型助记，交叉点为研究对象。为求结点N的前驱结点P和后继结点S，设N的左子L，右]]></description><category></category></item><item><title><![CDATA[树和二叉树3——线索化]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8551898</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8551898</guid><author>markcnsc</author><pubDate>Tue, 29 Jan 2013 11:38:00 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请注明原始链接：http://blog.youkuaiyun.com/markcnsc/article/details/8551898）
1. 创建
typedef struct _BT {
    struct _BT *lc, *rc, *pt;
    int v;
    bool lf, rf;
} BT;

static char * nodes_param = "ABC]]></description><category></category></item><item><title><![CDATA[树和二叉树2——遍历]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8551143</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8551143</guid><author>markcnsc</author><pubDate>Tue, 29 Jan 2013 09:11:45 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请注明原始链接：http://blog.youkuaiyun.com/markcnsc/article/details/8551143）

typedef struct _BT {
    struct _BT* lc;
    struct _BT* rc;
    int v;
} BT;

void visit (BT* p);




1 递归遍历 (中序为例)]]></description><category></category></item><item><title><![CDATA[树和二叉树1——性质]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8550292</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8550292</guid><author>markcnsc</author><pubDate>Mon, 28 Jan 2013 21:14:40 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请注明原始链接：http://blog.youkuaiyun.com/markcnsc/article/details/8550292）
1. 基本连通
. 0<= si <= 1
. 0
 (设结点的入边si，出边so，即结点的度）

k叉树的根结点：si = 0；叶子结点：so = 0；非根非叶结点：si = 1，1

. s = n - 1 = sum (di)
（]]></description><category></category></item><item><title><![CDATA[可以让你少奋斗10年的工作经验]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8541641</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8541641</guid><author>markcnsc</author><pubDate>Fri, 25 Jan 2013 13:28:54 +0800</pubDate><description><![CDATA[原帖出处：http://blog.21ic.com/user1/5872/archives/2009/62334.html
可以让你少奋斗10年的工作经验

第一：不要认为停留在心灵的舒适区域内是可以原谅的。 
　　 
　　每个人都有一个舒适区域，在这个区域内是很自我的，不愿意被打扰，不愿意被push，不愿意和陌生的面孔交谈，不愿意被人指责，不愿意按照规定的时限做事，不愿意主动的去关心别]]></description><category></category></item><item><title><![CDATA[TCP“未来”性能]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8502666</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8502666</guid><author>markcnsc</author><pubDate>Mon, 14 Jan 2013 22:35:08 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请保留出处，注明原始链接！谢谢。）

新的机遇带来新的挑战，新的挑战呼唤新的对策：路径MTU发现，窗口扩大选项，时间戳选项，序号回绕保护（PAWS）和事务TCP等五大“新”特性。
1。网络异构性加剧，为提高通信效率，需要时刻审视TCP连接的MSS：MSS=MTU-IP_Hdr-TCP_Hdr (1500-20-20或576-20-20）。
2。长肥管道（LFN）下的越]]></description><category></category></item><item><title><![CDATA[TCP超时管理]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8502490</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8502490</guid><author>markcnsc</author><pubDate>Mon, 14 Jan 2013 21:53:25 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请保留出处，注明原始链接！谢谢。）

4种定时器：时间等待（Time_Wait），重传，坚持和保活。
坚持定时器：为防止打开通知窗口（解除0窗口）的ACK丢失，造成TCP两端死锁，TCP发端按无限次的指数避让间隔发出窗口探测包（1字节），TCP收端立刻确认并更新通知窗口。
TCP收端何时重新打开通知窗口，TCP发端何时在新的通知窗口下发送数据/多少数据，都要防止糊涂窗]]></description><category></category></item><item><title><![CDATA[TCP拥塞避免]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8497738</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8497738</guid><author>markcnsc</author><pubDate>Sun, 13 Jan 2013 11:32:24 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请保留出处，注明原始链接！谢谢。）

TCP/IP的精髓在TCP，TCP的精髓在拥塞避免。
发端TCP估计网络层的信道容量，结合收端TCP的提示窗口，动态调整包的发送速率，来主动避免/解除网络层可能/已经出现的拥塞现象。
0。基本概念：RTT | RTO，CWND | SSStresh。
RTT的测量：样本选取（每个连接仅测1次），计数方法（记录节拍分割点）和误差范]]></description><category></category></item><item><title><![CDATA[TCP流量控制（大包的吞吐量）]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8497565</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8497565</guid><author>markcnsc</author><pubDate>Sun, 13 Jan 2013 11:23:50 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请保留出处，注明原始链接！谢谢。）
1。TCP端到端的路径细分：发端应用层缓存 | 发端TCP缓存 | 网络层 | 收端TCP缓存 | 收端应用层缓存。
2。TCP端到端的流量控制：滑动窗口协议。
原义：发端TCP已发送但还未被确认的包，不得大于收端TCP缓存的剩余空间（提示窗口，Adverstize Window）。
引义：
a. 仅是端到端的考虑，假定网络层为理]]></description><category></category></item><item><title><![CDATA[TCP交互过程（小包的响应性）]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8488506</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8488506</guid><author>markcnsc</author><pubDate>Thu, 10 Jan 2013 10:43:45 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请保留出处，注明原始链接！谢谢。）
TCP小包传输——在保证响应和避免拥塞之间的权衡。


1。经受时延的ACK：
原理：端点收到数据包，并不立刻回ACK，直到有数据包发送或定时器超时再捎带上ACK。
应用：TCP小包传输的一般方法。【总是独立于Nagle和其他算法存在，LInux实现是200ms。】


2。Nagle算法：
原理：在TCP连接上，仅允许]]></description><category></category></item><item><title><![CDATA[在bcm97313上跑libtomcrypto (上)——makefile重写]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8487272</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8487272</guid><author>markcnsc</author><pubDate>Wed, 09 Jan 2013 20:39:21 +0800</pubDate><description><![CDATA[在bcm97313上跑libtomcrypto (上)——makefile重写







标签： 技术  体会 2009-12-29
 19:29


    libtomcrypto的原作者使用perl脚本辅助生成makefile中的OBJ列表，也许是为了向下兼容早期的make程序。Anyway，不管了。我想办法把makefile重写成gnu-make v3.80支持]]></description><category></category></item><item><title><![CDATA[makefile杂谈之三]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8487270</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8487270</guid><author>markcnsc</author><pubDate>Wed, 09 Jan 2013 20:38:17 +0800</pubDate><description><![CDATA[makefile杂谈之三







2009-12-24 19:48


1.定义的宏是makefile文件全局范围解析还是逐行解析呢？
...
STR=t1
t1:
@echo $(STR)
STR+= t2
t2:
@echo $(STR)
执行make t1和make t2竟然，结果相同，都是t1 t2。这说明是全局范围解析，这对包含多个子模块的#i]]></description><category></category></item><item><title><![CDATA[有大小写文件名的C文件在Winodows上要小心了]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8487264</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8487264</guid><author>markcnsc</author><pubDate>Wed, 09 Jan 2013 20:36:35 +0800</pubDate><description><![CDATA[有大小写文件名的C文件在Winodows上要小心了







标签： 技术  体会 2009-12-24
 19:04


    1. 在Windows上展开linux kernel source，会被这些大小写的文件名所困扰：
    linux/net/ipv4/netfilter/ipt_ECN.c和linux/net/ipv4/netfilter/ipt_e]]></description><category></category></item><item><title><![CDATA[makefile杂谈，之二]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8487262</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8487262</guid><author>markcnsc</author><pubDate>Wed, 09 Jan 2013 20:35:51 +0800</pubDate><description><![CDATA[makefile杂谈，之二







标签： 技术  体会 2009-12-24
 17:25


    我是新人到老项目，多少会被老人们看不顺眼，当然也会看老人们做的事不顺眼。单说这#time make得到的结果就让我忿忿不平！经过慎密低调的访问，发现Integrator做build是20+分钟一次，而一般的coder做前文所说的折腾s1.c也要1～2分钟，这又何必]]></description><category></category></item><item><title><![CDATA[优化makefile，提高团队开发效率]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8487254</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8487254</guid><author>markcnsc</author><pubDate>Wed, 09 Jan 2013 20:34:13 +0800</pubDate><description><![CDATA[优化makefile，提高团队开发效率







标签： 技术  体会 2009-12-21
 16:16


大型团队，多人开发，网络编译等等要素呼唤高效的生成过程（build procedure）。每天每个开发人员会执行无数次的make，有多少effort是浪费在waiting while compiling上的呢？统计过么？当然也只有精明的PM才可能会算这个帐。n]]></description><category></category></item><item><title><![CDATA[静下来，写些字]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8487251</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8487251</guid><author>markcnsc</author><pubDate>Wed, 09 Jan 2013 20:32:43 +0800</pubDate><description><![CDATA[标签： 人生  感悟 2009-12-21
 15:16


写些字来记录一下现在的我是怎么想的，以便今后的我与现在的我有对话的可能。
人生感悟，处世哲学，技术新知。。。
有空就写上几句吧。


http://tkoc.blog.sohu.com/140179291.html



体验新版博客]]></description><category></category></item><item><title><![CDATA[TCP状态转换]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8486966</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8486966</guid><author>markcnsc</author><pubDate>Wed, 09 Jan 2013 19:57:20 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请保留出处，注明原始链接！谢谢。）

1. 11 states
CLOSE, LISTEN, SYN_SENT, SNY_RCV, ESTABLISHED
FIN_WAIT_1, FIN_WAIT_2, CLOSING, TIME_WAIT, CLOSE_WAIT, LAST_ACK


2. 6 Primary Paths
Active Open: CLOS]]></description><category></category></item><item><title><![CDATA[std c lib 基础问题]]></title><link>https://blog.youkuaiyun.com/markcnsc/article/details/8482837</link><guid>https://blog.youkuaiyun.com/markcnsc/article/details/8482837</guid><author>markcnsc</author><pubDate>Tue, 08 Jan 2013 20:58:27 +0800</pubDate><description><![CDATA[（保留版权，欢迎转载。请保留出处，注明原始链接！谢谢。）

1. sizeof: 
sizeof(long) = {{x86: 4, x64: 8}}; sizeof(long long) = {{x86: 8, x64: 8}};
sizeof("char p[N]") = {{
void foo1 () { char p [N]; ... sizeof(p):// N };
voi]]></description><category></category></item></channel></rss>