原创 由leetcode 24 引出的 值語義與引用(對象)語義的問題

下面的例子,ListNode temp = dummy是引用語義(Java),但是我開始理解成了值語義(C/C++) class Solution { //c++代碼 public: ListNode* swapPairs

原创 BFS 與隊列 DFS與遞歸

算法題每週一坑(BFS 與隊列 DFS與遞歸) 搜索 POJ 3984 迷宮 迷宮題:這道題因爲迷宮大小有限,所以我用了結構體數組對隊列進行模擬 struct node{ int x,y,pre;  //需要保存上一個節點的下標,爲了之

原创 同步與異步(線程)

同步與異步 有兩個線程在併發執行以下代碼段, 其中 g 是 int 類型的全局變量。 請 問當兩個線程都執行完畢該代碼段後, g 的值的取值範圍爲50000-100000。 for (int i = 1; i <= 50000;

原创 淺談網絡編程

本博客爲2019暑假爲學弟學妹講網絡編程的遷移 計算機網絡概述 我們的信息是如何在計算機網絡中從一點到達另一點的? 1.首先,需要一套交流的規則 – 協議 OSI 標準 TCP/IP協議族 IPv4數據報 TC

原创 用位圖排序

問題引入:如何給一個磁盤文件排序 輸入:一個最多包含n個正整數的文件,每個都小於n,其中n=10^7。如果在輸入文件中有任何整數重複出現就是致命錯誤。沒有其他數據與該整數相關聯。 輸出:按照升序排列的輸入整數的列表。 約束:最多有

原创 進程

計算機系統:進程 計算機系統角度的進程 記得之前在暑假留校的時候學習了進程線程等概念,當時對於很多概念理解很模糊。比如同步異步併發並行等等,理解的有些偏頗。 這學期我學習了計算機系統之後,對有一些概念有了新的認識,所以決定再重新梳理一

原创 (計算機系統中)抽象的重要性

計算機系統中‘抽象’的重要性 計算機系統中的一個重大主題就是提供不同層次的抽象表示,來隱藏實現的複雜性 三個抽象: 文件是對I/O的抽象 虛擬存儲器是對程序存儲的抽象 進程是對一個正在運行的程序的抽象 虛擬機提供對整個

原创 算法題每週一坑(BFS 與隊列 DFS與遞歸)

算法題每週一坑(BFS 與隊列 DFS與遞歸) 搜索 POJ 3984 迷宮 迷宮題:這道題因爲迷宮大小有限,所以我用了結構體數組對隊列進行模擬 struct node{ int x,y,pre;  //需要保存上一個節點的下標,爲了之

原创 與shell命令相關函數調用

與shell命令相關函數調用 linuxC dup 和 dup2 函數 #include<unistd.h> int dup(int oldfd); int dup2(int oldfd,int newfd) dup用來複制oldfd

原创 ls -R 的遞歸實現

ls -R 的遞歸實現 LinuxC文件操作 遞歸 動態數組 之前對遞歸和動態數組用的不是很多,可能理解已不是很深  這一次實現ls -R的遞歸剛好鞏固了自己的薄弱點  下面主要是重新梳理一下之前的邏輯  不說說了,先放碼: void

原创 算法題每週一坑

算法題每週一坑 B HDU 2002 (-2) 這個題是因爲輸入時候的轉義字符沒有寫對  一開始用的是float  輸入的時候用的是%f  後來改成double之後沒有改轉義字符 C HDU 2029 (-8) 這個就比較坑了,提交了八次

原创 數組指針與指針數組,指向函數的指針

指針數組與數組指針int *p[4]; //p代表一個含有四個指向int類型的指針的數組int (*p)[n]; //p代表一個指向含有n個元素的指針 指向函數的指針int *p(); //p爲返回指針的函數==int* p()

原创 算法題每週一坑(DP)

動態規劃初步 在這周算法題公佈之前,我對動態規劃的瞭解是隻停留在表面的,只知道一個名詞而已。 而這次的算法題,讓我對動態規劃有了一個初步的瞭解 我在做題的過程中,總結出了動態規劃我認爲比較重要的幾個點 1.大問題化小問題:即問題是可

原创 線程總結

並行與併發(測試2) 理解: 解釋一:並行是指兩個或者多個事件在同一時刻發生;而併發是指兩個或多個事件在同一時間間隔發生。 解釋二:並行是在不同實體上的多個事件,併發是在同一實體上的多個事件。 解釋三:在一臺處理器上“同時”處理多個