原创 [數據結構] 隊列及其編碼實現

1 普通隊列與環形隊列 隊列的特點:先入先出(FIFO) 例子: 火車站買票時,隊頭隊尾。售票員從頭開始賣票,先到的人先買到票就可以離開。 分類:普通隊列與環形隊列 1.1 普通隊列 普通隊列的添加元素較爲簡單,直接隊列尾後移;

原创 [數據結構] 二叉樹及其編碼實現

文章目錄1.幾個易混淆的概念2.二叉樹的遍歷方式3. 二叉樹的數組描述(編碼)4. 二叉樹的鏈表描述(編碼)5.參考 1.幾個易混淆的概念 樹:節點的有限結合。如下: 二叉樹:所有結點的度都小於等於2的樹。如下: 完全二叉樹:

原创 QT_ubuntu下構建包含QT庫的工程(使用clion編輯器)

文章目錄1 爲clion配置QT工具2 新建一個clion工程3 編譯與測試4 補充 本文完整代碼請參考我的資源中qt-clion.zip 1 爲clion配置QT工具 File --> Settings -->Tools -->

原创 【數據結構】AVL樹_紅黑樹_B樹與B+樹

文章目錄1 AVL樹紅黑樹B樹與B+樹 1 AVL樹 轉載自博客 : 詳細圖文——AVL樹 AVL樹是最先發明的自平衡二叉查找樹。在AVL樹中任何節點的兩個子樹的高度最大差別爲1,所以它也被稱爲高度平衡樹。 往平衡二叉樹中添加節點

原创 【計算機】深入理解原碼、補碼、反碼

文章目錄一. 機器數和真值1、機器數2、真值二. 原碼, 反碼, 補碼的基礎概念和計算方法.1. 原碼2. 反碼3. 補碼三. 爲何要使用原碼, 反碼和補碼參考 一. 機器數和真值 在學習原碼, 反碼和補碼之前, 需要先了解機器數

原创 【c++】 string、const char*、 char* 、char[]四種類型轉化

轉自:https://www.cnblogs.com/lyf-sunicey/p/8679183.html 主要方法(請牢記): #-------------------------------------------------

原创 【c++】多線程編程(一)基本應用

文章目錄1.併發 與 並行2.多進程併發 與 多線程併發3.多線程標準庫4.線程的構造/初始化 1.併發 與 並行 併發(Concurrent)與並行(Parallel)都是很常見的術語。 Erlang之父Joe Armstron

原创 【操作系統】關於堆棧的那些事

堆棧是編程中很重要的概念,相信很多人也跳過坑,然後解決之後,繼續跳坑。想整理堆棧的概念很久了。最近看了程序員自我修養,就一起整理一下吧。 本文將從幾個方面學習一下堆棧 堆棧概念 進程,線程概念 堆棧分配 1. 堆棧概念 在

原创 【數據結構】最大堆/最小堆 及其在c++算法庫函數

文章目錄1.原理2.在c++算法庫中的使用2.1介紹2.2使用案例:3.最大(小)堆實例應用參考 1.原理 最大最小堆的定義: 它是一顆完全二叉樹,它可以是空 樹中結點的值總是不小於(不大於)其孩子結點的值 每一個結點的子樹也是

原创 【c語言】數組名/數組名地址/數組指針等亂七八糟東西的梳理

經常遇到老掉牙的c數組的用法,很是頭疼,乾脆梳理一下。 0.指針與數組名的區別 正文之前,先區分一下指針與數組名的區別: 指針很容易理解,它就是一個存放地址的變量,與一般的變量沒有本質的區別。 數組名又應該如何理解呢? 首先用來存

原创 [數據結構] 時間複雜度相關問題

常見的時間複雜度量級包括: 常數階O(1) 線性階O(n) 平方階O(n²) 對數階O(logn) 線性對數階O(nlogn) 它們的關係: 需要牢記的算法複雜度速記表: 一些時間複雜度計算題摘錄: 1 已知一個數組a的長

原创 【c++】多線程編程(三)條件變量(Condition Variable)

互斥鎖std::mutex是一種最常見的線程間同步的手段,但是在有些情況下不太高效。 1.消費者生產者模型 假設想實現一個簡單的消費者生產者模型,一個線程往隊列中放入數據,一個線程往隊列中取數據,取數據前需要判斷一下隊列中確實有數

原创 【UDP通信】原理簡介及編程實現

UDP介紹 UDP — ⽤戶數據報協議,是⼀個⽆連接的簡單的⾯向數據報的運輸層協 議。UDP不提供可靠性,它只是把應⽤程序傳給IP層的數據報發送出去,但是並不能保證它們能到達⽬的地。由於UDP在傳輸數據報前不⽤在客戶和服 務器之間

原创 【算法題解】線性表相關

本文在不同平臺收集了線性表相關的算法測試題,會持續更新。 當前內容如下文章目錄從尾到頭打印鏈表排序鏈表的合併反轉鏈表輸出單鏈表倒數第 K 個節點兩個鏈表的第一個公共節點刪除排序鏈表中重複的節點鏈表中環的入口節點刪除鏈表中節點,要求

原创 【算法題解】二叉樹相關

題目及代碼來源: 劍指offer、牛客網 文章目錄從上到下(每層從左到右)打印二叉樹按之字型打印二叉樹序列化二叉樹二叉樹的深度二叉搜索樹的第k個節點判斷是否是平衡二叉樹二叉樹某一節點在中序遍歷下的下一節點把二元查找樹轉變成排序的雙