原创 C++ 堆棧 stack

[TOP]     ~~~~    棧和隊列是兩種重要的線性結構,是很常用的數據結構。從數據結構的角度看,棧和隊列也是線性結構,其特殊性在於棧和隊列的基本操作是線性表操作的子集,它們是操作受限的線性表,因此,可稱爲限定性的數據結

原创 const(常量)和#define(宏定義)區別

記錄面試題 編譯器處理不同 宏定義是一個編譯時的概念,在預處理階段展開,在編譯時把所有的宏定義值得地方用宏定義常量替換,不能對宏定義進行調試,生命週期結束於編譯時期; const常量是一個運行是的概念,在程序運行時使用,類似一個只

原创 線程和進程的區別,線程如何實現同步和通信,進程如何實現通信

線程和進程的區別 進程是系統資源分配最小的單位。 線程是程序執行最小的單位 進程有自己獨立地址空間,每啓動一個進程,系統都會爲它分配地址空間,建立數據表來維護代碼段、堆棧和數據塊,這種操作非常昂貴。 線程是共享進程中的數據的

原创 幾個簡單的清晰度計算

最近在自學遊戲開發,所以博客就停下來沒有寫了,不過最近工作上要實現一些東西,所以這裏在作一些筆記,比較清晰度算法主要是爲了實現調焦,這記錄一下代碼,具體暫時不說了。 /** * 計算兩個相鄰像素的灰度差平方,爲了防止數值過大,

原创 圖像銳化、梯度、對比度 C++

    ~~~~    最近碰到一些需求,居然要改圖像,但是按照要求改了,弄完最後又要求改回去,記錄一下使用過的函數 銳化,梯度增強,對比度 //銳化 void sharpen(unsigned char *pucImage, i

原创 svn command

    ~~~~    svn使用的指令還是有點複製的,這裏做下記錄 用法 svn <子命令> [選項] [參數] 可用子命令     ~~~~    鍵入“ svn help <子命令>”以獲取有關特定子命令的幫助。     ~

原创 socket epoll通訊

    ~~~~    說道epoll就要說道和select的比較了,這是比較常見的面試題目了。     ~~~~    先介紹epoll:epoll是Linux內核爲處理大批量文件描述符而作了改進的poll,是Linux下多路複

原创 使用select進行SOCKET通訊

對於使用socket先要說一下socket函數,原型是: /* Create a new socket of type TYPE in domain DOMAIN, using protocol PROTOCOL. If

原创 紅黑樹

    ~~~~    資源來自維基百科,這裏算記錄地址     ~~~~    說道epoll,就會說道mmap和紅黑樹,這裏記錄下紅黑樹,學習紅黑樹之前需要先了解二叉搜索樹。 介紹     ~~~~    紅黑樹(英語:Red

原创 快速排列

    ~~~~    快速排列,又稱劃分交換排序,簡稱快排,一種排序算法。在平均狀況下,排序nnn個項目要O(nlog n)O(nlog~n)O(nlog n)次比較。在最壞狀況下則需要O(n2)O(n^2)O(n2)次比較,但

原创 二分查找算法

    ~~~~    在計算機科技中,二分查找算法,也稱爲折半搜索算法、對數搜索算法,是一種在有序數列中查找某一特定元素的搜索算法。搜索過程從數組的中間元素開始,如果中間元素正好要查找的元素,則搜索過程結束;如果某一特定元素大於

原创 時間複雜度

    ~~~~    在計算機科學中,算法的時間複雜度是一個函數,他定性描述該算法的運行時間。這是一個代表算法輸入值的字符串的長度函數。時間複雜度常用大OOO符號表述,不包括這個函數的低階項和首項係數。使用這種方式時,時間複雜度

原创 分治法

    ~~~~    在計算機科學中,分支法是建基於多項分支遞歸地一種很重要的算法範式。字面上的解釋是“分而治之”,就是把一個複雜的問題分成兩個或更多的相同或相似的子問題,直到最後子問題可以簡單的直接求解,原問題的解即子問題的解

原创 二叉樹遍歷遞歸和非遞歸實現

遍歷一共有三種,前序中序後序,下面直接上代碼吧,外加運行結果: #include <stdio.h> #include <stdlib.h> #include <stack> #include <queue> #include

原创 grep 目錄查找

##文件名+內容 grep -r “查詢內容” 文件目錄 ##只顯示包含內容的文件名 grep -r -l “查詢內容” 文件目錄 ##文件名+內容 find 文件目錄 -type f |xargs grep “查詢內容”;