原创 經典排序算法(8)——歸併排序算法詳解

歸併排序(Merge sort),是創建在歸併操作上的一種有效的排序算法,效率爲O(nlog n)。該算法是採用分治法(Divide and Conquer)的一個非常典型的應用,且各層分治遞歸可以同時進行。 一、算法基本

原创 經典排序算法(11)——計數排序算法詳解

計數排序(Counting sort)是一個非基於比較的排序算法,該算法於1954年由 Harold H. Seward 提出。它的優勢在於在對一定範圍內的整數排序時,它的複雜度爲Ο(n+k)(其中k是整數的範圍),快於任何比較排序算法

原创 TCP提供可靠傳輸的工作原理和實現過程

TCP發送的報文段是交給IP層傳送的,但IP層只能提供盡最大努力交付的服務,也就是說,TCP下面的網絡所提供的是不可靠的傳輸。因此,TCP採用了一些適當的措施來提供可靠的傳輸,使得兩個傳輸層直接的通信變得可靠。 ----------工作

原创 Cookie和Session的作用和工作原理

一、Cookie詳解 (1)簡介 因爲HTTP協議是無狀態的,即服務器不知道用戶上一次做了什麼,這嚴重阻礙了交互式Web應用程序的實現。在典型的網上購物場景中,用戶瀏覽了幾個頁面,買了一盒餅乾和兩飲料。最後結帳時,由於HTTP的無狀態

原创 HTTP協議詳解

一、HTTP協議簡介 HTTP協議,即超文本傳輸協議(英文:HyperText Transfer Protocol,縮寫:HTTP)是互聯網上應用最爲廣泛的一種網絡協議。設計HTTP最初的目的是爲了提供一種發佈和接收HTML頁面的方法。

原创 在瀏覽器輸入一個網址,如http://www.taobao.com,按回車之後發生了什麼?

當在瀏覽器中輸入一個網址後的處理過程如下: 1、瀏覽器根據域名查詢域名對應的服務器的IP地址。 根據域名查詢IP地址的順序如下: 瀏覽器DNS >>> 操作系統DNS緩存 >>> 本地(ISP)域名服務器緩存 >>>

原创 經典排序算法(2)——快速排序算法詳解

快速排序(Quick Sort)也是一種典型的交換排序算法,通過交換數據元素的位置進行排序。 一、算法基本思想 (1)基本思想 快速排序的基本思想就是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另

原创 TCP三次握手建立連接

一、三次握手的過程 TCP需要三次握手才能建立連接,整個過程如下圖所示: 假設A運行的是TCP客戶端進程,而B運行的是TCP服務端進程。最開始的時候兩端的TCP進程都處於ClOSED(關閉)狀態。 這時候,A主動打開連接,而B

原创 UDP協議詳解

一、UDP協議簡介 UDP協議,即用戶數據報協議(User Datagram Protocol),是一個簡單的面向數據報的傳輸層協議。UDP協議只在IP數據報服務商增加了很少一點的功能,就是複用和分用,以及差錯檢測的功能。 二、UD

原创 經典排序算法(5)——希爾排序算法詳解

希爾排序(Shell Sort)是一種典型的插入排序算法,通過對原始序列進行分組進行排序。 一、算法基本思想 (1)基本思想 希爾排序是基於插入排序的以下兩點性質而提出改進方法的:  插入排序在對幾乎已經排好序的數據操作時

原创 TCP連續ARQ協議和滑動窗口協議

TCP協議通過使用連續ARQ協議和滑動窗口協議,來保證數據傳輸的正確性,從而提供可靠的傳輸。 一、ARQ協議 ARQ協議,即自動重傳請求(Automatic Repeat-reQuest),是OSI模型中數據鏈路層和傳輸層的錯誤糾

原创 TCP四次握手釋放連接

一、四次握手的過程 TCP需要三次握手才能建立連接,整個過程如下圖所示: 假設A運行的是TCP客戶端進程,而B運行的是TCP服務端進程。最開始的時候兩端的TCP進程都處於ESTABLISHED(已建立連接)狀態。 這時候,A主動

原创 經典排序算法(6)——直接選擇排序算法詳解

直接選擇排序(Straight Select Sort)是一種典型的選擇排序算法,通過不斷選擇序列中最大(小)的元素。 一、算法基本思想 (1)基本思想 直接選擇排序的基本思想就是:不斷從未排序隊列中選擇最大(小)的

原创 TCP的擁塞控制

網絡擁塞是指在分組交換網絡中傳送分組的數目太多時,由於存儲轉發節點的資源有限而造成網絡傳輸性能下降的情況。當網絡發生擁塞時,一般會出現數據丟失,時延增加,吞吐量下降,嚴重時甚至會導致“擁塞崩潰”(congestion collapse)。

原创 經典排序算法(7)——堆排序算法詳解

堆排序(Heap sort)是指利用堆(最大堆、最小堆)這種數據結構所設計的一種排序算法。堆是一個完全二叉樹的結構,並同時滿足如下性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。 一、算法基本思想 (1)基本思想