原创 棧的存儲結構

(1)棧的定義:限制在表的一端進行刪除和插入的線性表,通常能夠插入和刪除的一端爲棧頂(top); (2)順序棧:順序棧的實現,從本質上來講就是順序線性表的實現,唯一重要的是應該用數組的那一端表示棧頂。主要操作是出棧和入棧,也就是

原创 線程同步與線程安全

一、 線程同步 1.1爲什麼要進行線程同步? 當多個線程共享同一內存的時候,可能會出現某個線程在修改變量,而另一線程讀取到不一致的數據。所以不得不使用鎖,在同一時間只允許一個線程訪問該變量。 如圖描述這種同步,如果線程B要讀

原创 JAVA集合

首先需要清楚JDK類庫給我們提供了Java集合,所有的Java集合都位於java.unti包中。與Java數組不同,Java集合不能存放基本類型數據,而只能存放對象的引用。 一、瞭解集合框架 1.1集合概念 集合有時稱爲容器

原创 泛型

一、爲什麼要引入泛型?以及泛型的本質? (1)所謂的要引入泛型,就是創造容器類,這個容器類就是放入要使用對象的地方,而且這個容器比較靈活,可以放任意類型的對象,所以使用泛型的主要目的之一就是指定容器中持有什麼類型的對象,而且編譯

原创 二叉樹創建以及遍歷

char *ps = “ABCDEFGH”; char *is = “CBEDFAGH”; char *ls = “CEFDBHGA”; BtNode * Buynode() { BtNode *s = (BtNode

原创 單鏈表

(1)單鏈表:在插入和刪除元素的時候比順序表方便,不需要移動所有元素。 單鏈表的實現 class Node{ //創建結點 int value; Node next; public Node(){

原创 線程

一、 線程的概念及優點 線程是進程之中一條執行序列, 一個進程至少有一條執行序列(程),稱之爲主線程, 可以通過庫函數創建新的線程, 稱其爲函數線程。 線程可以同時執行。 優點:提高進程的併發度,並且有效利用多處理器和多核計算

原创 線索化二叉樹

線索化二叉樹等於把一棵樹轉變成一個雙向鏈表,這樣對我們插入、刪除結點,查找某個結點帶來方便。 線索化的過程實質是將二叉鏈表的空指針改爲指向前驅和後繼的線索,由於前驅和後繼的信息只有在遍歷的過程中才能得到。所以,線索化的過程就

原创 迷宮算法(java實現)

迷宮問題是棧的典型應用,因此藉助棧來實現迷宮問題; *題目描述:用類來解決迷宮路徑的查找問題,尋找一條從左上角迷宮入口到右下角迷宮出口的一條有效路徑,0代表可以行走,1代表不能行走,找到,請輸入最終的迷宮和路徑信息, 找不到,請

原创 Java集合(2)

一、Set接口介紹 Set接口繼承Collection接口,而且它不允許集合存在重複項,每個具體的Set實現類依賴添加對象的equlas()和hashCode()方法來檢查獨一性。Set接口沒有引入別的方法,所以Set就是一個C

原创 進程間通訊

一、進程間通訊: 兩個進程之間能相互發送數據 二、進程間通訊的四種方式:管道 信號量 消息隊列 共享內存 1.管道: 有名管道: 在文件系統目錄中存在一個管道文件。 (1)管道文件:僅僅是文件系統中的標示,

原创 關於二叉樹的結點

(1)二叉樹單分支結點 int SizeOneBrch(BtNode *ptr) //單分支 { if(ptr==NULL) { return 0; } else {

原创 論文查重

推薦給同學們一個論文查重網站【必過論文】,平臺上有知網、維普、paperpass等查重系統,都是官網正品,保障論文安全,現在10萬字以內還可以免費查重一次哦,微信掃碼領取。 http://www.biguolunwen.com/?ai

原创 秋招總結

秋招結束,拿到了還算滿意的offer。。。 從八月初開始投簡歷,石沉大海的居多,慶幸的是也有收到幾個提前批筆試的,然而沒有過的,各種掛,內心是無比的複雜,開始擔心自己找不到工作了。。。不過看到周圍同學提前批好像都沒有幾個拿到offer

原创 簡單工廠&工廠方法&抽象工廠

一、簡單工廠(Simple factory) 集中管理對象的產生,業務代碼只需要調用相應的方法, 傳入不同的參數區分對象,就能得到想要的對象了 把業務代碼和對應的對象解耦 創建一個抽象類 public abstract class