1.給定乙個包含32位整數的順序檔案,它至多只能包含40億個這樣的整數,並且整數的次序是隨機的。請查詢乙個此檔案中不存在的32位整數。在有足夠主存的情況下,你會如何解決這個問題?如果你可以使用若干外部臨時檔案但可用主存卻只有上百位元組,你會如何解決這個問題呢?
情形一:32位整數,從0到23
2−1 ,用乙個bit來表示乙個整數是否存在於此順序檔案中。
一共需要23
2bit
=229
byte
=219
kb=512mb
。 在記憶體中分配512mb的空間,初始化為全0,順序掃瞄檔案,讀到整數n時,將512mb中的第n位設定為1。一次掃瞄完檔案後,即將40億個整數記錄下來了。
512mb空間中第乙個為0的位為m,則順序檔案中不存在整數m。
對於這種方法,可以對23
2 個數分段,可以使記憶體的需求減小,但是需要多次順序遍歷
情形二:根據整數的最高k位,將順序檔案分解成2k
個檔案。當要判斷乙個數是否屬於原順序檔案時,根據其高k位,確定它只能在某乙個小檔案中,順序搜尋該小檔案。
分解的方法需要額外的磁碟空間,但是能夠減少耗時。
2.請將乙個具有n個元素的一維向量向左旋轉i個位置。例如向量abcdefg旋轉3位之後得到向量defghabc。僅使用幾十位元組的微小記憶體,花費與n成比例的時間,旋轉該向量。
void
reverse(char *arr, int start, int end)
3.給定一本英語單詞詞典,請找出所有的變位詞集。例如,因為「pots」、「stop」、「tops」相互之間都是由另乙個詞的各個字母改變序列而構成的,因此這些詞相互之間就是變位詞。
map
> result;
void function(vector
input)
}
先排序,一組變位詞排序得到的字串是同乙個字串。 CH02 提供推薦
目標輸出 我想得到乙個長串,裡面既有與這個人評分較高 即相似度較高 的人的名字,也有他的得分,應該用python裡的什麼結構?q 乙個列表也好,乙個字典也好,不定義可以直接用嗎?a 不可以。乙個字元在不定義的時候可以直接用 for item in 並沒有定義item,直接拿來用就好 item可以是數...
CH02 資源 04 資源限制
資源限制的目的 kubernetes對資源的限制實際上是通過cgroup來控制的,cgroup是容器的一組用來控制核心如何執行程序的相關屬性集合。針對記憶體 cpu和各種裝置都有對應的cgroup 預設情況下,pod執行不受cpu和記憶體限額的限制,意味著可以消耗所在節點的所有cpu和記憶體,所以一...
雲課堂 組合語言筆記ch02
章節2 基礎知識 14.乙個工具給win7 or win10 15.二進位制 機器指令 彙編指令的關係 自答 機器指令用二進位制來表示。彙編指令通過彙編器可以翻譯成機器指令,而且是一一對應的.組合語言由以下三部分組成 a.彙編指令 彙編器 機器指令 b.偽指令 翻譯規則 告訴彙編器這兒怎麼翻譯那兒怎...