原创 C++二義性

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。  二義性問題 1.在繼承時,基類之間、或基類與派生類之間發生成員同名時,將出現對成員訪問的不確定性——同名二義性。 2.當派生類從多個基類派生,而這些基類又從同一個基類派

原创 排序算法3

1、序言 這是《漫談經典排序算法系列》第三篇,先解析了冒泡排序,然後引出快速排序,給出了快速排序的兩種實現版本。 各種排序算法的解析請參考如下: 《漫談經典排序算法:一、從簡單選擇排序到堆排序的深度解析》 《漫談經典排序算法:二

原创 排序算法5

1、序言 這是《漫談經典排序算法系列》第五篇,給出了三種線性時間排序,分別是計數排序、基數排序、桶排序。 各種排序算法的解析請參考如下:   《漫談經典排序算法:一、從簡單選擇排序到堆排序的深度解析》 《漫談經典排序算法:二、

原创 C++ STL容器之 map

C++ STL容器之 map map 是一種有序無重複的關聯容器。 關聯容器與順序容器不同,他們的元素是按照關鍵字來保存和訪問的,而順序元素是按照它們在容器中的位置保存和訪問的。 map保存的是一種 key - value 的p

原创 c++ list, vector, map, set 區別與用法比較

List封裝了鏈表,Vector封裝了數組, list和vector得最主要的區別在於vector使用連續內存存儲的,他支持[]運算符,而list是以鏈表形式實現的,不支持[]。 Vector對於隨機訪問的速度很快,但是對於插入尤

原创 內存管理

計算存儲的層次結構: 當前技術沒有能夠提供這樣的存儲器,因此大部分的計算機都有一個存儲器層次結構,即少量的非常快速、昂貴、易變的高速緩存(cache);若干兆字節的中等速度、中等價格、易變的主存儲器(RAM);數百兆或數千兆的低速

原创 視頻壓縮1

要實現實時視頻通信,除了需比與其它數據通信(語音,非實時視頻,數據)更高的帶寬外,還需要對視頻信號進行較大的壓縮。網絡帶寬正隨着無線接入技術和有線傳輸技術的發展不斷提升,但即使這樣,如果不對視頻信號進行必要的壓縮,目前用戶的接入帶寬也是

原创 視頻壓縮2

上面一篇文章提到了,視頻壓縮的目的是爲了減少視頻存儲的空間或者視頻傳輸帶寬。既是存儲和帶寬相對廉價的今天,要實現視頻的大容量存儲(如視頻監控)和實時傳輸,沒有視頻壓縮幾乎不可能。   視頻壓縮現狀: 視頻壓縮編碼標準種類繁多,其中

原创 TCP狀態圖解

Tcp狀態機 1、爲什麼建立連接需要三次握手,斷開連接需要四次握手?      舉例來說,C與S要可靠的溝通,溝通之前要又準備工作,溝通完了,要有清理工作。      溝通之前的準備工作     C:我要跟你說話,你注意聽(SYN)

原创 基數排序

編程論到極致,核心非代碼,即思想。 所以,真正的編程高手同時是思想獨到及富有智慧(注意與聰明區別)的人。 每一個算法都是一種智慧的凝聚或萃取,值得我們學習從而提高自己,開拓思路,更重要的是轉換思維角度。 其實,我們大多數人都活在“

原创 strcpy和memcpy

strcpy和memcpy都是標準c庫函數,它們的特點: strcpy提供了字符串的複製,strcpy只用於字符串的複製,不僅複製字符串內容外,還會複製字符串的結束符。 strcpy的函數原型是: char* strcpy(char

原创 TCP/IP協議棧的基本工作原理

TCP/IP是互聯網的核心協議,也是大多數網絡應用的核心協議。就前面一段時間面試中問到的TCP/IP問題,這裏給出一個簡單的小結。   TCP由RFC793、RFC1122、RFC1323、RFC2001、RFC2018以及RFC2

原创 Vlan劃分及其意義

VLAN是什麼?如何劃分VLAN?如何實現VLAN?VLAN有什麼好處? VLAN可能用到的三層交換技術 1. VLAN是什麼?   VLAN是虛擬局域網,是指網絡中的站點不拘泥於所處的物理位置,而可以根據需要靈活地加入不同的邏

原创 TCP狀態轉換圖

TCP正常建立和關閉的狀態變化     TCP連接的建立可以簡單的稱爲三次握手,而連接的中止則可以叫做 四次握手。   建立連接   在TCP/IP協議中,TCP協議提供可靠的連接服務,採用三次握手建立一個連接。 第一

原创 sql之連接

內連接: 只連接匹配的行左外連接: 包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行),以及右邊表中全部匹配的行右外連接: 包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行),以及左邊表中全部匹配的行全外連接: 包含左、右