原创 java線程基礎概念

多線程的實現 繼承Thread類實現多線程 Runnable()接口實現多線程 如果一個類爲了實現多線程繼承Thread類就會有但繼承侷限 Callable實現多線程 [](從JDK1.5開始追加新的開發包:java.uit.co

原创 select檢測標準輸入

我們先看一下select的參數列表 參數解釋 參數nfds是需要監視的最⼤大的⽂文件描述符值+1; rdset,wrset,exset分別對應於需要檢測的可讀⽂文件描述符的集合,可寫⽂文件描述符的集 合及異常⽂文 件描述

原创 二叉堆的一些基本操作,以及升序降序

我要理解二叉樹如何定義一個堆的 必須是一顆完全二叉樹 我們可以分大堆和小堆 這裏主要通過順序鏈表的方法定義堆 這是一個從上往下的大堆 我們要如何存儲這個堆了,顯然我們需要一個數組,然後通過寫算法實現這個堆的順

原创 哈希之開散列,閉散列

先從數據查找開始說起吧,在線性結構,樹形結構當中查找一個元素必須經過多次和一些元素進行比較,然後通過比較,查找到對應元素,這種方法多多少少,時間複雜度都是比較高的。 有沒有一種方法時間複雜度,僅僅O(1)尼,那麼我們就要構造一種存儲結

原创 四種智能指針的用法以及實現原理

先來說一下四種常用的智能指針,我按使用度從低到高排一下順序,分別是auto_ptr, unique_ptr, shared_ptr, weak_ptr,先來列舉一下啊,剩下的我在一個一個慢慢說呀 首先來說一下智能指針的實現原理主要是通

原创 紅黑二叉樹節點的插入

進行紅黑樹節點的插入時候我們必須結合紅黑樹的性質,要不是真的很容易忙半天卻發現寫的代碼漏洞百出不符合紅黑樹的性質 主要總的來說是性質,其實籠統的來說我感覺兩條性質用來驗證就差不多了 好了,列舉額一下吧。 每個結點不是紅色就

原创 AVL樹節點的插入

先聲明一下這裏爲什麼只寫了AVL樹節點的插入哈 首先說一下AVL樹的查找,因爲查找並沒有破壞節點位置。而我們的AVL樹是在搜索樹的基礎上限定了樹的左右樹之間的高度不超過(-1 || 1),所以說查找是完全類比搜索二叉樹的。

原创 搜索二叉樹的增,查,刪操作

首先說的應該是我們的搜索二叉樹是的,而這個有序是中序的有序 相對其他兩個操作搜索二叉樹的刪除應該是最複雜的這個複雜的刪除還是應該畫圖的,如果不畫圖是很難說清楚也很難理清楚的 好了我們的圖先派在這裏了,下面操作也都是用這個圖作爲標準

原创 【劍指】通過前序,中序遍歷來重建二叉樹

已知二叉樹的前序,中序遍歷來重建二叉樹 好吧!既然是二叉樹我們想到比較多的還是遞歸遍歷,畢竟比較方便一點的。 如果說前序和中序相比比較突出的一個特點就是根節點在數組下標當中的位置吧,毫無疑問,前序遍歷根節點在數組首元素的位置這應該特

原创 索引的一些特性

先看一下一些常見的索引吧! 主鍵索引(primary key) 唯一鍵索引(unique) 普通索引(index) 全文索引(fulltext) 在看一下索引的基本原理~ 首先索引相當於創建二叉樹 然後基於二叉

原创 多表查詢

先假設一下我們有A,B,C三張表,A表中位段(AA,CC,DD),B中表位段(CC,EE,FF),C中位段(FF,GG,YY)當我們想要查詢CC,EE, YY時候我們需要訪問三張表,那麼我們可以通過一些基本的語句查詢 我們先見一個庫,

原创 mysql數據庫表的基本操作

先放一張mysql基本類型的表吧! 表裏面是我們常用創建表時候用到都數據類型 創建一個表 MariaDB [workspace]> create table user( id int, name varchar(32) com

原创 線程池的創建

當我們需要追求性能時候,一個進程的 創建銷燬時間也許不算什麼,但是當進程需要調用大量進程時候,但是每一個線程運行時間在創建銷燬這個線程當中所佔比例並不是百分之百,換句話說線程的創建銷燬時間是不可以忽略的 那麼類似與懶漢模式當我們需要創

原创 關於inet_ntoa的覆蓋問題

現在man手冊裏面看一下inet_ntoa函數的作用吧~ man⼿冊上說, inet_ntoa函數, 是把這個返回結果放到了靜態存儲區. 這個時候不需要我們⼿動進⾏釋放.(inet_ntoa是一個int_addr轉字符串的函數)

原创 單繼承與多繼承的虛函數表

我們大部分時候使用的多態虛表實在public繼承的基礎上實現的 這句話可以怎麼說了? 自己簡單的思考邏輯認爲基類中的成員或者成員函數子類中都會重新拷貝一份,也就是如果派生類中沒有定義基類的某虛函數重寫但是這個**虛函數的地址已經被寫實