介紹 在我們的日常開發(fā)中,有時(shí)候會(huì)遇到一些需要處理字符串的任務(wù)。并且我們也知道這是需要正則表達(dá)式的挣跋,但是礙于系統(tǒng)地學(xué)習(xí)正則表達(dá)式費(fèi)時(shí)費(fèi)力,而且一段時(shí)間不使用又很容易遺忘。最近...
介紹 在我們的日常開發(fā)中,有時(shí)候會(huì)遇到一些需要處理字符串的任務(wù)。并且我們也知道這是需要正則表達(dá)式的挣跋,但是礙于系統(tǒng)地學(xué)習(xí)正則表達(dá)式費(fèi)時(shí)費(fèi)力,而且一段時(shí)間不使用又很容易遺忘。最近...
協(xié)議 什么是協(xié)議:協(xié)議是一種約定,通過約定伏伯,不同的進(jìn)程可以對(duì)一段數(shù)據(jù)產(chǎn)生相同的理解橘洞,可相互協(xié)作。進(jìn)程間的通信一定需要協(xié)議说搅。 協(xié)議設(shè)計(jì)目標(biāo) 解析效率:互聯(lián)網(wǎng)業(yè)務(wù)具有高并發(fā)的特點(diǎn)...
比較 Redis支持服務(wù)器端的數(shù)據(jù)操作:Redis相比Memcached來說炸枣,擁有更多的數(shù)據(jù)結(jié)構(gòu)和支持更豐富的數(shù)據(jù)操作。通常在Memcached里弄唧,需要將數(shù)據(jù)拿到客戶端進(jìn)行修...
基數(shù)排序 基數(shù)排序是一種非比較型整數(shù)排序算法适肠,其原理是將整數(shù)按位數(shù)切割成不同的數(shù)字,然后按每個(gè)位數(shù)分別比較候引。由于整數(shù)也可以表達(dá)字符串(比如名字或日期)和特定格式的浮點(diǎn)數(shù)侯养,所以...
桶排序 桶排序是計(jì)數(shù)排序的升級(jí)版。它利用了函數(shù)的映射關(guān)系澄干,高效與否的關(guān)鍵就在于這個(gè)映射函數(shù)的確定逛揩。為了使桶排序更加高效,我們需要做到這兩點(diǎn): 在額外空間充足的情況下麸俘,盡量增大...
計(jì)數(shù)排序 計(jì)數(shù)排序的核心在于將輸入的數(shù)據(jù)值轉(zhuǎn)化為鍵存儲(chǔ)在額外開辟的數(shù)組空間中息尺。作為一種線性時(shí)間復(fù)雜度的排序,計(jì)數(shù)排序要求輸入的數(shù)據(jù)必須是有確定范圍的整數(shù)疾掰。 1. 計(jì)數(shù)排序的...
堆排序 堆排序(Heapsort)是指利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計(jì)的一種排序算法。堆積是一個(gè)近似完全二叉樹的結(jié)構(gòu)徐紧,并同時(shí)滿足堆積的性質(zhì):即子結(jié)點(diǎn)的鍵值或索引總是小于(或者大于)它...
快速排序 快速排序是由東尼·霍爾所發(fā)展的一種排序算法静檬。在平均狀況下,排序 n 個(gè)項(xiàng)目要 Ο(nlogn) 次比較并级。在最壞狀況下則需要 Ο(n2) 次比較拂檩,但這種狀況并不常見。...
歸并排序 歸并排序(Merge sort)是建立在歸并操作上的一種有效的排序算法嘲碧。該算法是采用分治法(Divide and Conquer)的一個(gè)非常典型的應(yīng)用稻励。作為一種典型...
希爾排序 希爾排序抡句,也稱遞減增量排序算法粤攒,是插入排序的一種更高效的改進(jìn)版本。但希爾排序是非穩(wěn)定排序算法煌妈。 希爾排序是基于插入排序的以下兩點(diǎn)性質(zhì)而提出改進(jìn)方法的:插入排序在對(duì)幾...
插入排序 插入排序的代碼實(shí)現(xiàn)雖然沒有冒泡排序和選擇排序那么簡單粗暴履婉,但它的原理應(yīng)該是最容易理解的了煤篙,因?yàn)橹灰蜻^撲克牌的人都應(yīng)該能夠秒懂。插入排序是一種最簡單直觀的排序算法毁腿,...
選擇排序 選擇排序是一種簡單直觀的排序算法辑奈,無論什么數(shù)據(jù)進(jìn)去都是 O(n2) 的時(shí)間復(fù)雜度苛茂。所以用到它的時(shí)候,數(shù)據(jù)規(guī)模越小越好鸠窗。唯一的好處可能就是不占用額外的內(nèi)存空間了吧妓羊。 ...
冒泡排序 冒泡排序(Bubble Sort)也是一種簡單直觀的排序算法。它重復(fù)地走訪過要排序的數(shù)列稍计,一次比較兩個(gè)元素躁绸,如果他們的順序錯(cuò)誤就把他們交換過來。走訪數(shù)列的工作是重復(fù)...
基本介紹 nginx的雙向鏈表結(jié)構(gòu)里只有與節(jié)點(diǎn)關(guān)聯(lián)的信息丙猬,沒有任何與業(yè)務(wù)相關(guān)的信息涨颜,從而做到數(shù)據(jù)與業(yè)務(wù)解耦 數(shù)據(jù)結(jié)構(gòu)定義 使用方法 在具體的業(yè)務(wù)的數(shù)據(jù)結(jié)構(gòu)中,掛載一個(gè)ngx_...
今天在公司摸魚的時(shí)候茧球,想起之前沒有看的線程池庭瑰,然后趕緊把它撿起來。完整代碼放在我的github 介紹 線程池:有一堆已經(jīng)創(chuàng)建好的線程抢埋,初始化時(shí)處于空閑態(tài)弹灭,當(dāng)有新的任務(wù)進(jìn)來的時(shí)...
二叉樹定義 在計(jì)算機(jī)科學(xué)中,二叉樹是每個(gè)結(jié)點(diǎn)最多有兩個(gè)子樹的樹結(jié)構(gòu)揪垄。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)穷吮。二叉樹常被...
一、集群方式 1.主從模式 ??每個(gè)master節(jié)點(diǎn)可以有多個(gè)slave節(jié)點(diǎn)饥努,但是一個(gè)slave節(jié)點(diǎn)只能有一個(gè)對(duì)應(yīng)的master節(jié)點(diǎn)捡鱼。master節(jié)點(diǎn)可以讀和寫,slave只...