原创 三相單詞樹

一、本博客主要內容 1、三相單詞樹的概念 2、三相單詞樹結構圖 3、三相單詞樹實現 (1)、三相單詞樹節點結構 (2)、三相單詞樹的插入 (3)、三相單詞樹的查找 (4)、三相單詞樹的刪除 4、三相單詞樹代碼鏈接 二、單詞樹的概念 1

原创 avl平衡樹

一、本博客主要內容: 1、avl平衡樹的概念,性質 2、avl平衡樹插入節點方式圖解 3、avl平衡樹兩種實現方式+代碼講解 (1)、平衡樹節點結構 (2)、插入節點 (3)、旋轉節點 (4)、查找節點 (5)、刪除節點 (6)、平衡

原创 單向單詞樹

一、本章主要內容: 1、單向單詞樹的概念 2、單向單詞結構圖解 3、單向單詞樹代碼實現 (1)、單向單詞樹的節點數據結構 (2)、單向單詞樹的插入 (3)、單向單詞樹的查找 (4)、單向單詞樹獲取所有單詞 (5)、單向單詞樹獲取某前綴

原创 紅黑樹詳解

一、本博客主要內容: 1、二叉查找樹簡要介紹 2、2-3樹簡要介紹 3、紅黑的性質,特點 4、紅黑樹的查找過程 5、紅黑樹節點插入過程 6、紅黑樹節點刪除過程 7、紅黑樹代碼實現 二、紅黑樹背景 講解紅黑樹之前,先了解一下二叉查找樹和

原创 二叉查找樹

一、簡單介紹:本篇博客主要包含的內容 1、二叉查找樹的概念,性質 2、二叉查找樹的基本操作 (1)、節點結構介紹 (2)、構造/拷貝構造/運算符重載/樹拷貝實現 (3)、插入操作 (4)、查找key的值 (6)、查找key的節點或向下

原创 vim代碼補全ycm安裝

一、安裝說明: 本人親試成功:centos7(本地虛擬機),centos7.2(雲服務器)。 二、安裝步驟: 1、更新gcc/g++ 2、更新vim ,版本不低於8.0(支持python) 3、安裝cmake,Vundle 4、安裝ycm

原创 類的三大特性

一、封裝: 方法: 1、使用類將數據成員和函數方法綁定在一起。 2、使用訪問限制符進行限制封裝。 作用:信息隱藏的作用,只提供一些必要的接口,而隱藏那些不必要的接口。避免受到外界的干擾和誤用,從而確保安全 破壞封裝:友元類可訪問該

原创 仿寫各種字符串操作函數

一、頭文件:String.h #ifdef __STRING_H__ #define __STRING_H__ #endif char *my_strcpy(char*arr,const char*arr1);//字符串複製 cha

原创 進程概念

進程: 一、概念:是一個正在執行的可執行程序實例。 二、構成:進程信息存放在進程控制塊PCB的數據結構中。 三、數據結構: 在Linux中描述進程的數據結構是task_struct; task_struck是Linux內核中的一種

原创 二叉樹操作(基本操作,線索化,經典問題)

一、樹概念:樹是由一個個節點,根據規則排列在一起的一種數據結構。每一個節點爲一個數據。根據存儲方法分爲順序存儲(使用順序表的方法),鏈式存儲(鏈表的存儲放法) 注:樹中是不帶環的 二、二叉樹 1、二叉樹是節點的集合(集合爲空或非空)或由

原创 動態內存管理

動態內存分配一、C語言內存分配一、malloc1、按字節分配內存空間,分配的內存空間不初始化2、返回類型爲void*3、函數只有一個參數原型:void* malloc(size_t size);//size是字節個數二、calloc1、按

原创 位操作的精巧使用

一、位操作的使用不僅能簡化代碼的書寫,還能有效的提高程序的執行效率。但位操作僅能用於整型類型存儲(int, char)的數 1、判斷奇偶數: 所有數都由2^n相加組成,偶數無2^0,所以偶數的二進制位最低位爲0,奇數爲1 偶數:(nu

原创 自定義類型與內存對齊

一、結構體 1、聲明: 方法一: struct 類型名 { 成員變量; }(變量名); struct 類型名 變量名 ;//定義結構體變量 struct 類型名 變量名 = {數據,...};//定義結構體變量同時初始化 方法二: t

原创 引用與指針

一、引用的概念及用法 引用:引用不是定義一個新的變量,不開闢內存空間,而是一個變量的別。與原變量的數值,地址相同。對其中任意數值進行操作都會互相影像(值同步)。 用法:類型& 變量名。           變量—-const 引用

原创 大小端存儲

數據的大,小端存儲是由於計算機在發展過程中,不同人對數據存儲的不同觀點,造成的歷史遺留下的差異問題。由於統一這個問題會比較 麻煩,工程量大,並且本身也沒有太大差異。所以未進行對此問題進行處理。 小端存儲:低字節(低位)存儲在低地址,高字節