原创 大整數相減

#include<stdio.h> #include<string.h> #include<stdlib.h> #include<assert.h> char* bigIntMinus( const char* numstr1, con

原创 二叉樹的層次遍歷以及二叉樹的深度

// 算法思想:類似廣度優先搜索算法BFS,使用一個隊列來進行層次遍歷 // 關鍵僞代碼如下 typedef struct node { elementType data; struct node* left; struct nod

原创 給出二叉樹的先序和中序遍歷,遞歸求解後序遍歷

#include <stdio.h> int findIndex( int arr[], int begin, int end, int num ) { int idx; for ( idx = begin; idx <= end;

原创 Sliding Window 滑動窗口協議

TCP協議:首先,TCP建立連接之後,通信雙方都同時可以進行數據的傳輸,其次,它是全雙工的;在保證可靠性上,採用超時重傳和捎帶確認機制。  在流量控制上,採用滑動窗口協議,協議中規定,對於窗口內未經確認的分組需要重傳。  在擁塞控

原创 位操作:十進制數轉爲二進制,八進制,十六進制

#include <stdio.h> #include <iostream> #define MAP_LEN 16 #define HEX_SHIFT 4 #define HEX_LEN ( (int)(32/HEX_SHIFT) +

原创 有關c++空類問題

《 effective c++ 》 空類是沒有數據成員,沒有函數的類,例如 class Empty { }; 1. 空類或者空類對象的大小(無繼承情況下):編譯器會在空類中安插一個char,使得這個空類的兩個objects得以在內存中配置

原创 TCP協議之TIME_WAIT狀態

主動關閉的Socket端會進入TIME_WAIT狀態,並且持續2MSL時間長度,MSL就是maximum segment lifetime(最大分節生命期),這是一個IP數據包能在互聯網上生存的最長時間,超過這個時間將在網絡中消失。MSL

原创 linux下的 fork vfork和clone函數

Linux的用戶進程不能直接被創建出來,因爲不存在這樣的API。它只能從某個進程中複製出來,再通過exec這樣的API來切換到實際想要運行的程序文件。     複製的API包括三種:fork、clone、vfork。     這三

原创 Linux中的 殭屍進程 和 孤兒進程

在UNIX裏,除了進程0(即PID=0的交換進程,Swapper Process)以外的所有進程都是由其他進程使用系統調用fork創建的,這裏調用fork創建新進程的進程即爲父進程,而相對應的爲其創建出的進程則爲子進程,因而除了進程0以

原创 淺談 磁盤調度算法

磁盤調度在多道程序設計的計算機系統中,各個進程可能會不斷提出不同的對磁盤進行讀/寫操作的請求。由於有時候這些進程的發送請求的速度比磁盤響應的還要快,因此我們有必要爲每個磁盤設備建立一個等待隊列,常用的磁盤調度算法有以下四種: 先來先服務算

原创 LRU算法

LRU 即:Least Recently Used 最近最少使用算法   關於操作系統的內存管理,如何節省利用容量不大的內存爲最多的進程提供資源,一直是研究的重要方向。而內存的虛擬存儲管理,是現在最通用,最成功的方式——在內存有限的情況下

原创 c語言 常用字符串函數

#include<stdio.h> #include<string.h> #include<ctype.h> #include<assert.h> int _strlen( const char* str ); int _strcmp(

原创 位操作:一個整數的二進制表示中 有多少個1?

#include <stdio.h> int countHowMuchOne( int number ) { int count = 0; while ( number ) { number = number & ( numb

原创 linux進程及進程控制

Linux進程控制   程序是一組可執行的靜態指令集,而進程(process)是一個執行中的程序實例。利用分時技術,在Linux操作系統上同時可以運行多個進程。分時技術的基本原理是把CPU的運行時間劃分成一個個規定長度的時間片,讓每個

原创 短網址簡介

短網址簡介 首先來溫習下短網址的相關知識: 1、首先要了解什麼是短網址?簡單的說明是:把你認爲長的難記或放不下的本站網址用本功能生成一個簡短網址,使用短網址即可直接訪問它。 2、其次它有什麼用?你發佈的或看到的有價值信息,可能需要發給QQ