原创 紅黑樹-《算法導論》學習筆記十二

紅黑樹是一種二叉搜索樹,它在每個結點上增加了一個存儲爲來表示結點的顏色,或紅或黑,通過從根到葉子的簡單路徑上各個結點的顏色進行約束,紅黑樹確保沒有一條路徑會比其它路徑長出2倍,近似平衡的。 樹種每個結點包含5個屬性:color、key、l

原创 【從零開始構建erlang服務器】-01網絡庫

一、簡介       網絡庫是服務器的基礎。有了網絡庫,服務器就能接收外界消息,提供服務。因此開始就從網絡庫入手。這裏先構建基礎的TCP通信網絡庫。至於UDP、WebSocket這些通信手段暫不說。二、gen_tcp       erla

原创 【從零開始構建erlang服務器】-04協議層

一、簡介協議的作用很重要,通信協議可以理解爲兩個節點之間爲了協同工作實現信息交換,協商一定的規則和約定,例如規定字節序,各個字段類型,使用什麼壓縮算法或加密算法等。常 見的有tcp,udo,http,sip等常見協議。協議有流程規範和編碼

原创 快速排序-《算法導論》學習筆記七

快排利用分治的思想,將問題規模切分爲小的子規模問題,類似歸併排序,歸併是將兩個待排序的子數組合併爲一個有序的數組,而快排是將數組以某個數組值劃分爲兩個子數組,一個數組的所有數比這個值小,一個數組的所有數比這個值大,然後再遞歸地對兩個子數組