原创 數據結構-二路歸併及歸併排序

一、介紹: 歸併排序(Merge sort)是建立在歸併操作上的一種有效的排序算法。該算法是採用分治法(Divide and Conquer)的一個非常典型的應用。將已有序的子序列合併,得到完全有序的序列;即先使每個子序列有序,再

原创 C++-對象繼承內存模型配圖

注:本文章爲此文章配圖,查看參考代碼請點擊 一般繼承(成員變量+虛函數覆蓋) 多重繼承(成員變量+虛函數覆蓋) 菱形繼承(成員變量 + 虛函數覆蓋) 菱形的虛擬繼承(成員變量 + 虛函數覆蓋) 點贊 2

原创 數據結構-棧應用(中綴轉後綴並計算結果)

關於中綴和後綴表達式基礎概念自行百度。 對於中綴轉後綴表達式並計算結果思路可歸納爲以下: 1、將每個數據當做一個結構體,包含對應的類型以及數值; 2、對於給定的中綴表達式,轉爲結構體數組,進行後綴表達式的轉換; 3、對於轉換完成

原创 Git-如何在windows下安裝Git並用GitHub同步

一:下載msysgit,然後按默認選項安裝即可。安裝包下載鏈接 二:安裝完成後,在桌面點擊右鍵就會有Git Bash Here選項,點擊會彈出以下界面。 三:設置自己的名字和郵箱: 因爲Git是分佈式版本控制系統,所以,每個機

原创 數據結構-基數排序(桶排序)

基數排序和計數排序都屬於“非比較排序”,有關計數排序可查看http://blog.csdn.net/sssssuuuuu666/article/details/78677302。 基數排序介紹: 基數排序(radix sort

原创 Linux-常用查看系統資源命令小結

mpstat:顯示各個可用CPU的狀態 使用:-P 對應cpu編號 例: suhw@ubuntu:~$ mpstat -P ALL Linux 4.13.0-37-generic (ubuntu) 2018年03月26日

原创 網絡-數據鏈路層小結

數據鏈路的作用 1、封裝成幀:在每個網絡層數據報經鏈路傳送之前,幾乎所有的鏈路協議都要將其用鏈路層幀封裝起來; 2、鏈路接入:媒體訪問控制協議(MAC)協議規定了幀在鏈路上傳輸的規則; 3、可靠交付:鏈路層保證無差錯的經鏈路層移動每

原创 數據結構-哈希表理解與實現

一、哈希表的簡介 1、在我們C++11中的unordered_set/unordered_map以及unordered_multiset/unordered_multimap底層最主要的實現就是哈希表;而哈希表則是通過關鍵字(key)按

原创 Linux-netstat命令小結

netstat命令在面試以及日常開發使用中都會經常出現,所以特地小結一波;首先要知道Netstat 命令用於顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 ,連接,多播成員等等。 常見參數: -a (all)顯示所有選項,默認不顯

原创 網絡-TCP詳解

一、TCP服務的特點 傳輸層協議主要有兩個:TCP協議和UDP協議。相對於UDP協議,TCP最主要的特點就是面向連接、字節流、和可靠傳輸。但是與UDP相比,TCP除了面向連接、字節流以外還有一些因爲這些特性而帶來的區別: 1、TCP協

原创 mysql-基礎操作總結

至於mysql是什麼,怎麼下載,怎麼登陸就不再多贅述了,直接將關於庫和表的操作列出: 一、關於數據庫的相關操作: 1.1、創建一個默認屬性的數據庫: create database 庫名; 1.2、創建一個使用utf8字符集的數據庫:

原创 網絡-HTTP不同版本之間的對比

不管在找實習還是找工作的時候,關於http協議以及延伸出的一些問題都會經常被問到。專門小結一下。 首先介紹下HTTP/1.0和HTTP/1.1: 1、HTTP/1.0:HTTP 協議老的標準是HTTP/1.0,爲了提高系統的效率,HTTP

原创 Linux-Ubuntu下安裝zsh+OhMyZsh+autojump

平常我們執行命令的shell基本上都是在bash下,也很少看到周圍有人用其他的;今天無意間被身邊的大佬秀了一波shell,所以特地自己也安裝一波。真的是用一下就知道zsh有多方便了。多餘的介紹就省了,直接一步步介紹這些插件的安裝。先看一下

原创 利用huffman樹完成文件壓縮

一、關於ZIP壓縮 引用一個簡單的例子:假設我們現在有一個文本,內容是: 生,容易。活,容易。生活,不容易。 這句話假如不壓縮,使用Unicode編碼,那麼一般情況下一個字使用兩個字節標識(生僻字可能會使用四字節表示),也就是17個字符,

原创 Linux-進程間通信(二、消息隊列)

LINUX進程間通信(一、命名管道與匿名管道) 消息隊列概述 消息隊列是消息的鏈接表,存放在內核中並由消息隊列標識符表示。主要涉及到msgget(),msgsnd(),msgrcv(),msgctl()四個函數,在具體使用時可將四個函數