原创 進程間通信——信號、信號的操作、屏蔽信號,捕捉信號詳解

 信號 信號是系統預先編譯好的某些特定的事件,信號可以被產生,可以被接收,產生和接收的主體是進程。 信號的特點:1.簡單 2.攜帶的信息量少 3.使用在某些特定的場景中 信號的狀態    1.產生狀態       鍵盤:ctrl + c

原创 打印一個順時針增大的矩陣

打印的這個矩陣的實例如下: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 代碼如下: int a[10][10]; void fun(int

原创 進程間通信和線程間通信&&進程和線程的區別

進程間的通訊方式 管道:管道的傳遞數據是單向性的,只能從一方流向另一方,是一種半雙工的通信方式;只用於有親緣關係的進程間通信(父子進程);管道他就像一個特殊的文件,但這個文件存在於內存之中,在創建管道時,系統爲管道分配兩個數據緩衝區,一個

原创 Linux中基礎複習(一)

1. linux中的文件層次結構 Linux文件存儲時,都是以根目錄“ /”開始的,根目錄下有許多的文件夾例如:/bin,/etc,/boot,/root,/home等等。在這些文件中呢,/home普通用戶的家目錄中存在自己增加的用戶st

原创 HTTP2.0和HTTP1.0的區別

HTTP2.0的新特性 HTTP2.0引入了服務端推送:例如我的網頁有一個sytle.css的請求,在客戶端收到sytle.css數據的同時,服務端會將sytle.js的文件推送給客戶端,當客戶端再次嘗試獲取sytle.js時就可以直接從

原创 HTTP、HTTPS和SSL的加密過程

HTTP協議的特點 支持C/S模型(客戶端/服務器模型) 簡單快速:客戶端向服務器請求服務時,只需傳送請求方法和路徑。請求的方法常用的有GET,POST,HEAD等,每種方法規定了客戶端和服務器聯繫的類型不同。 靈活:HTTP允許傳輸任意

原创 紅黑樹和AVL樹的比較

紅黑樹和AVL樹都是從二叉搜索樹進化而來的平衡二叉樹。 AVL樹的特點 一個節點的左右子數的高度差不大於1 一個節點的左右子數都是平衡二叉樹 平衡二叉樹滿足二叉樹所有的特點 AVL樹的時間複雜度 一顆n個結點的AVL樹的平均搜索複雜度是O

原创 常見排序算法的使用場景和時間複雜度

排序算法的思想 冒泡排序 思想:從第一個待排序的數開始,和相鄰的數兩兩比較,如果是由小到大的話就和遇到的小的交換,然後繼續和後面的比較,直到所有的數據都有序,這樣的話最大的數就會浮現到後面去。就像喝汽水時氣泡上升的過程。 時間複雜度:O(

原创 AVL樹(平衡二叉搜索樹)

爲什麼出現平衡二叉樹樹? 二叉搜索樹查摘和插入的思想和二分查找相似,可以很快的找到目的結點,查找所需的最大次數等同於二叉搜索樹的高度。插入的時候也是一樣,通過一層一層的比較,最後找到合適的位置。 但是,二叉搜索樹也有缺點,當需要插入的是一

原创 二叉樹搜索樹詳解

二叉搜索樹的特點 二叉搜索樹:二叉樹的每一個結點最多有兩個子數的樹結構,也就是說除了葉子結點,其餘結點最多有兩個子節點 二叉搜索樹的性質 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值; 若它的右子樹不空,則右子樹上所有結點

原创 Linux中的GDB調試

GDB概述 linux下的GDB是一個用來調試C和C++程序的強大的調試器,他能在程序運行過程中觀察程序的內部結構和內存的使用情況 GDB的使用 gdb是一個命令行方式的調試工具,在Linux的命令提示如下輸入gdb,系統便會啓動gdb,

原创 智能指針詳解

什麼是智能指針? 智能指針就是用一個類來封裝一個指針 主要負責自動的來釋放內存,防止發生內存泄漏 智能指針的思想         智能指針中存儲的是指向動態對象的指針,用於動態對象生存週期的控制,能夠確保自動且正確的銷燬動態對象,防止內存

原创 TCP包頭部信息

如果tcp的首部不帶任何數據信息的話,通常是20個字節大小。 每一個tcp包頭部都包含以上的信息,我們詳細的來了解一下 16位源端口號和16位目的端口號:用來尋找發送端和接收端應用程序,這兩個值加上IP首部中的源端IP地址和目的端IP地

原创 堆排序

堆排序 堆有兩種分類,一種是大根堆,一種是小根堆; 大根堆 父親節點的值均大於孩子結點的值 構建的這個堆必須是滿二叉樹 小根堆 父親結點的值均小於孩子節點的值 構建的堆必須是滿二叉樹 思想:我們首先必須構建出堆;把數字先像二叉樹一樣排列好

原创 找數組中前K小或者前K大

思路:我們在這裏用到一個快排的思想,快排一次得到位置pos,在這個pos之前的數據全比和比較的數小(或者大),它後面的數全比和比的數大(或者小),如下圖,快排第一次用6來和其他數比較,排序一次之後,在6之前的數字一定會比6小,在6之後的數